35

「Thumb」が後に続かない「Tom」のすべての出現を検索しようとしています。

私は探してみました

Tom ^((?!Thumb).)*$

しかし、私はまだトムサムに一致する線を取得します。

4

3 に答える 3

36

使用している正規表現のフレーバーは言いませんが、これは一般的に機能するはずです:

 Tom(?!\s+Thumb)
于 2012-04-29T19:09:16.870 に答える
22

単語全体を探していない場合は、次の正規表現を使用できます。

Tom(?!.*Thumb)

必要な一致の後にチェックする単語がさらにある場合は、次を使用できます

Tom(?!.*(?:Thumb|Finger|more words here))
Tom(?!.*Thumb)(?!.*Finger)(?!.*more words here)

.一致する改行を作成するには、正規表現で複数の行にわたって任意の文字を一致させるにはどうすればよいですか?を参照してください。

この正規表現のデモを見る

単語全体を探している場合 (つまり、単語全体は、その右側にTom単語全体がない場合にのみ一致する必要があります)、次のように使用します。Thumb

\bTom\b(?!.*\bThumb\b)

別の正規表現のデモを見る

ご了承ください:

  • \b- 先頭/末尾の単語境界に一致
  • (?!.*Thumb)- は、 0+ 文字 (改行記号を含む/含まないエンジンによって異なります) の後にThumb.
于 2016-09-27T08:11:44.783 に答える
1

Tom(?!\s+Thumb)あなたが探しているものです。

于 2012-04-29T19:10:46.953 に答える