1

PHPで移行クラスに取り組んでいます。
このような文字列がある場合:

create_users_roles_table

そして、最初の単語と最後の単語の間の単語を正しく取得し、さらに、次のように間に1つの単語しかない場合に単語を正しく取得できるようにします。

create_users_table

どうすればいいですか?

終わったよ:

(\B)_([a-zA-Z]+)_?([a-zA-Z]+)_table

これは、 create_users_roles_tableを実行して、ユーザーロール
を生成するときに正常に機能します。 ただし、create_users_tableのみを実行すると、 usersが生成されます。明らかに、ユーザー のみを作成するために必要です。

誰?

4

1 に答える 1

0

私はそれが読むべきだと思います

(\B)_([a-zA-Z]+)_?([a-zA-Z]+)?_table

ただし、間に3つの単語がある場合、これは機能しません。正規表現では可変数のキャプチャグループを処理できないと思うので、単語を削除してから個別に分割することをお勧めします。

単語がいくつあるかを確認できる場合は、いつでもこれをハードコーディングできます。ツリー以下の単語の場合、使用できます

(\B)_([a-zA-Z]+)(?:_([a-zA-Z]+))?(?:_([a-zA-Z]+))?_table
于 2012-09-19T16:54:09.057 に答える