0

重複の可能性:
PHP で ereg 式を preg に変換するにはどうすればよいですか?

だから私はこのタイプのいくつかの文字列を持っています:

choose_from_library_something
choose_from_library_something2
choose_from_library_something3
...

そして、choose_from_library_* を検索する必要があります

動作しない正規表現は次のとおりです。

}elseif (preg_match('choose_from_library_.*',$form_name)) {

私が間違っていることは何ですか?

4

2 に答える 2

4

正規表現に区切り記号を追加する必要があります。

preg_match('/^choose_from_library_.*/',$form_name)

編集:正規表現の先頭にアンカー^を追加して、一致don't_choose_from_library_などを回避しました。

于 2012-10-02T13:14:10.500 に答える
0

状況によっては、explodeを使用して、代わりにそれを数える方がよい場合があります。

else if ( count ( explode("_" , $form_name) ) == 4 ) {

}

あなたの質問に答えるために、あなたはあなたのパターンの周りにスラッシュを持っている必要があります

/pattern/

また、アスタリスクは「なし」または「それ以上」を意味するため、テキストがない場合でも、テキストと一致します。同じことがexplodeにも当てはまります(ただし、最後の要素に空の文字列があったかどうかを確認し、それをfalseとして返すことができます)。

于 2012-10-02T13:19:09.997 に答える