1

私は自分で正規表現を学ぼうとしているので、このばかげた活動です。

「football」が含まれている単語を取得しようとしていますが、「footballs」を除外します。これにより、サッカー選手、サッカー選手、サッカーなど、他の単語を取得できます。「フットボール」ではありません。

私はそれ\bfootball(?!s)\bがサッカー選手とサッカーの両方を取り除くことを発見しました。「サッカー」のみを除外するにはどうすればよいですか?

4

2 に答える 2

2

アサーション内で単語の境界を移動する必要があります。

/\bfootball(?!s\b)/

これは、単語の境界を完全に削除するよりも正しいです。境界を完全に削除すると、たとえば、その後ろの単語とsその後ろ の単語が失わfootballsaれます。

于 2012-07-11T21:31:51.170 に答える
1

\bfootball(?!s)\bは、単語の境界、次に「サッカー」、次にSではなく、別の単語の境界(「サッカー」の後に何も検索できない)を探しているため、「サッカー選手」を除外しています。終了単語の境界を取り除きます(つまり、\bfootball(?!s\b)代わりに使用します)。

于 2012-07-11T21:26:09.350 に答える