私は自分で正規表現を学ぼうとしているので、このばかげた活動です。
「football」が含まれている単語を取得しようとしていますが、「footballs」を除外します。これにより、サッカー選手、サッカー選手、サッカーなど、他の単語を取得できます。「フットボール」ではありません。
私はそれ\bfootball(?!s)\b
がサッカー選手とサッカーの両方を取り除くことを発見しました。「サッカー」のみを除外するにはどうすればよいですか?
私は自分で正規表現を学ぼうとしているので、このばかげた活動です。
「football」が含まれている単語を取得しようとしていますが、「footballs」を除外します。これにより、サッカー選手、サッカー選手、サッカーなど、他の単語を取得できます。「フットボール」ではありません。
私はそれ\bfootball(?!s)\b
がサッカー選手とサッカーの両方を取り除くことを発見しました。「サッカー」のみを除外するにはどうすればよいですか?
アサーション内で単語の境界を移動する必要があります。
/\bfootball(?!s\b)/
これは、単語の境界を完全に削除するよりも正しいです。境界を完全に削除すると、たとえば、その後ろの単語とs
その後ろ
の単語が失わfootballsa
れます。
\bfootball(?!s)\b
は、単語の境界、次に「サッカー」、次にSではなく、別の単語の境界(「サッカー」の後に何も検索できない)を探しているため、「サッカー選手」を除外しています。終了単語の境界を取り除きます(つまり、\bfootball(?!s\b)
代わりに使用します)。