我知道可以匹配一个单词,然后使用其他工具(例如grep -v)反转匹配.但是,我想知道是否可以使用正则表达式匹配不包含特定单词的行(例如hede).
输入:
hoho
hihi
haha
hede
Run Code Online (Sandbox Code Playgroud)
码:
grep "<Regex for 'doesn't contain hede'>" input
Run Code Online (Sandbox Code Playgroud)
期望的输出:
hoho
hihi
haha
Run Code Online (Sandbox Code Playgroud) 我有一个正则表达式如下:
^/[a-z0-9]+$
Run Code Online (Sandbox Code Playgroud)
这匹配字符串,如/hello或/hello123.
但是,我希望它排除一些字符串值,如/ignoreme和/ignoreme2.
我尝试了一些变种,但似乎无法正常工作!
我最近的微弱尝试是
^/(((?!ignoreme)|(?!ignoreme2))[a-z0-9])+$
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激:-)
我有匹配的占位符,如(以下模式%s,%16.6fAl,%d等等):
%([a-z]+)\b|%([a-z0-9\.]{2,20})\b
但是,我确实需要忽略以下占位符:
%w %1w %2w %3w %O %M
我试着抬头查看论坛,但我担心我的正则表达式知识是有限的.那里有人可能有解决方案吗?
我想使用Ruby regex匹配不包含字符串'localhost'的URL
根据这里的答案和评论,我将两个解决方案放在一起,这两个解决方案似乎都有效:
解决方案A:
(?!.*localhost)^.*$
Run Code Online (Sandbox Code Playgroud)
示例:http://rubular.com/r/tQtbWacl3g
解决方案B:
^((?!localhost).)*$
Run Code Online (Sandbox Code Playgroud)
示例:http://rubular.com/r/2KKnQZUMwf
问题是我不明白他们在做什么.例如,根据文档,^可以以各种方式使用:
[^abc] Any single character except: a, b, or c
^ Start of line
Run Code Online (Sandbox Code Playgroud)
但我不知道它是如何在这里应用的.
有人可以为我分解这些表达方式,以及它们之间的区别吗?