0

name1 または name2 を含むパターンを見つけるために正規表現を構築する方法を教えてください。

すなわち、

text = 'the lion and the tiger are animals'

テキストに文字列ライオン、または文字列トラが含まれているかどうかを確認する正規表現を作成したいと思いますか?

単語で [ae] を作成し、一致または a または e を見つけることは知っていますが、単語全体についてはわかりません。

ありがとう!

4

4 に答える 4

2

「lion」または「tiger」が完全な単語であることを確認したい場合、これまでの回答はうまく機能しません (つまり、「footigerbar」などと一致します)。部分文字列だけでなく、「ライオン」または「トラ」という単語であることを確認したい場合は、次のようにします。

\b(lion|tiger)\b

\b単語の境界を示します。これにより、正規表現が一致しないことが保証されます。

于 2013-04-22T21:50:41.160 に答える
2

正規表現では、論理 OR は|です。つまり、次のようになります。

lion|tiger

たとえば、

^.*(lion|tiger).*$
于 2013-04-22T21:45:04.380 に答える
1

「パイプ」も使用できますが、-Eオプションが必要ですgrep

grep  -E 'lion|tiger'
于 2013-04-22T21:45:56.740 に答える
1

OR を使用できます。

(lion|tiger)
于 2013-04-22T21:45:33.387 に答える