0

私はこれを理解することができませんでした。

マッチングとその周囲のアンダースコアによってこれらすべての文字列を一致させる必要がありwholeます (1 つの正規表現ステートメントで):

  1. whole_anything
  2. anything_whole
  3. anything_whole_anything

ただし、これと一致してはなりません

  1. anythingwholeanything
  2. anything_wholeanything
  3. anythingwhole_anything

つまり...正規表現ステートメントを作成します。そのフレーズwholeは、前、後、または両方にアンダースコアがある場合にのみ一致します。アンダースコアがない場合はそうではありません。

以下

preg_match("/(whole_|_whole_|_whole)/",string)

解決策ではありません;)

2015/02/09 編集: 明確化のために条件 5. および 6. を追加

4

3 に答える 3

2

別の選択肢。このようにして、単語境界または_before と after の両方の存在を確認しますが、否定先読みによってwhole単語自体を除外します。whole

(?!\bwhole\b)((?:_|\b)whole(?:_|\b))

正規表現のデモはこちら。

于 2015-02-07T00:58:17.253 に答える