1

これらの文字のいずれかに一致する正規表現を作成するにはどうすればよいですか?

[a-z.' ]

しかし、この表現を除外します

(?:bl(?: |\. |\.)ah)

式は、文字列の先頭、途中、または末尾に{0、}回表示される場合があります

4

2 に答える 2

1

何かが足りない場合を除いて、次のパターンが一致するはずです。「何とか」を境界文字でラップすることをお勧めします-\bblah\b

(?<=^|[^a-z.' ]|blah)(?:(?!blah)[a-z.' ])+

メインパターン(回避する必要がある、、bl ahおよびbl. ahbl.ahと同様に、次のようになります。

~
    (?<=^|[^a-z.' ]|bl[. ]ah|bl\.\ ah)
    (?:(?!bl(?:\ |\.\ ?)ah)[a-z.' ])+
~ix

後読みの悪い点は、正確な長さを宣言する必要があることです。したがって、後読みで必要なもの(またはそうでないもの)を明示的に記述する必要があります。

于 2013-01-23T02:58:45.520 に答える
1

ネガティブな先読みを使用します。

^(?!.*bl[. ]*ah)[a-z.' ]*

「何とか」内に介在する文字の最大数について衒学者になりたい場合:

 ^(?!.*bl[. ]{,2}ah)[a-z.' ]*
于 2013-01-23T05:39:49.150 に答える