我需要使用正则表达式查找匹配,如果特定的词是不存在的查找字符串,如果文本没有包含特定单词
例 发现狐狸如果文本不存在老虎
所以,正则表达式应该匹配狐狸
"fox is an animal"
,而不是在
匹配"both fox and tiger are animals"
需要一个定期expession
我需要使用正则表达式查找匹配,如果特定的词是不存在的查找字符串,如果文本没有包含特定单词
例 发现狐狸如果文本不存在老虎
所以,正则表达式应该匹配狐狸
"fox is an animal"
,而不是在
匹配"both fox and tiger are animals"
需要一个定期expession
在linux
你可以这样做:
cat input.txt | grep -w fox | grep -vw tiger
+1,尽管UUOC。 :-) – ruakh 2012-03-15 14:29:03
它不依赖于Linux,而是依赖于grep,它可用于许多平台,甚至windows。 – 2012-03-15 20:18:04
您可以在每个lookaround断言中删除一个'。*'。这只会与.NET和JGSoft正则表达式引擎一起工作。 – 2012-03-15 16:32:23
@TimPietzcker谢谢,我已经更新了答案。 – 2012-03-15 17:24:58
你确定你需要一个单一的正则表达式来做到这一点吗?为什么不有两个正则表达式并接受字符串,如果第一个匹配而另一个不匹配? – 2012-03-15 14:21:50
首先 - 什么语言?其次 - 为什么你需要在一个正则表达式中做到这一点?当然,按照if(!string.contains('tiger')){match = string.find('fox')}'的方式写一些东西会更有意义。 – ruakh 2012-03-15 14:22:08
你是否必须使用正则表达式,这似乎更容易使用'contains'方法(或任何语言中的等价物),即在java中:if(!string.contains(“tiger”)){// Do东西}'。 – twain249 2012-03-15 14:23:19