2

それらの文字が先読みアサーションのすぐ後に続かない場合、1 つ以上の文字が存在する/存在しないかどうかを確認するために先読みを使用することは可能ですか?

たとえば
、次のような正規表現が与えられた場合:

([abc])([def])([ghi])

たとえば、最初のグループに 'a' があった場合、3 番目のグループの 'i' のみを一致として許可することはできますか?

4

3 に答える 3

2

後読みアサーションを使用できます (正規表現エンジンでサポートされていない JavaScript をターゲットにしている場合を除きます)。

([abc])([def])([gh]|(?<=a.)i)
于 2013-01-11T14:40:45.460 に答える
0

OR演算を使いたい場合はこんな| 感じ

(asd)|(zxc)|(qwe)
于 2013-01-11T14:33:34.180 に答える
0

条件付きパターンを使用できます。

これを試して :

/((a)|(b|c))([def])(?(2)i|[gh])/

(PCREでテスト済み)

于 2013-01-11T14:36:16.140 に答える