2013-04-22 135 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'或'蒲公英'。