2013-04-22 134 views
0

我是新來的正則表達式,如何構建一個正則表達式來查找其中name1或name2的模式。正則表達式搜索text1或text2

即,

text = 'the lion and the tiger are animals' 

我想建立一個正則表達式,如果找到了文本字符串獅子,或者它串老虎?

我知道用詞你會使[ae]找到匹配或a或e,但對於整個單詞我不確定。

謝謝!

+1

你正在使用什麼正則表達式? – 2013-04-22 21:45:15

+1

http://www.regular-expressions.info/alternation.html! – Bergi 2013-04-22 21:45:44

+0

你在用什麼語言?什麼正則表達式語法? – emsr 2013-04-23 21:25:43

回答

2

在正則表達式中,邏輯OR是|。這就是說:

lion|tiger 

因此,例如,

^.*(lion|tiger).*$ 
1

您可以使用OR:

(lion|tiger) 
1

您可以使用 「管道」 還需要grep-E選項

grep -E 'lion|tiger' 
2

Ans如果你想確保「獅子」或「老虎」是完整的單詞(即他們仍然會匹配「footigerbar」之類的東西)。如果你想確保它的「獅子」或「虎」,而不僅僅是子,像下面這樣就能做到:

\b(lion|tiger)\b 

\b表示單詞邊界,這將確保您的正則表達式不匹配,例如'unadsasdeflionasdeafeg'或'蒲公英'。