我是regex的新手,如何构建一个正则表达式来查找其中包含name1或name2的模式。
即,
text = 'the lion and the tiger are animals'
我想构建一个正则表达式,查找文本是否包含字符串lion或OR string tiger?
我知道用文字你会做[ae]并找到匹配或a或e,但总的来说,我不确定。
谢谢!
答案 0 :(得分:2)
在regexp中,逻辑OR为|
。也就是说:
lion|tiger
所以,例如,
^.*(lion|tiger).*$
答案 1 :(得分:2)
如果你想确保“狮子”或“老虎”是完整的单词(即它们仍然匹配“footigerbar”之类的东西),到目前为止答案将不会有效。如果你想确保它是单词“lion”或“tiger”,而不仅仅是子串,那么下面的内容将会这样做:
\b(lion|tiger)\b
\b
表示单词边界,可确保您的正则表达式不匹配,例如'unadsasdeflionasdeafeg'或'蒲公英'。
答案 2 :(得分:1)
您可以使用OR:
(lion|tiger)
答案 3 :(得分:1)
您可以使用“竖管”还需要-E
grep
选项
grep -E 'lion|tiger'