我知道可以匹配一个单词,然后使用其他工具(例如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) 是否有可能编写一个返回所需结果的正则表达式?正则表达式通常是包容性的 - 找到匹配.我希望能够将正则表达式转换为相反的 - 断言没有匹配.这可能吗?如果是这样,怎么样?
http://zijab.blogspot.com/2008/09/finding-opposite-of-regular-expression.html声明你应该用你的正则表达式括起来
/^((?!^ MYREGEX ).)*$/
Run Code Online (Sandbox Code Playgroud)
,但这似乎不起作用.如果我有正则表达式
/[a|b]./
Run Code Online (Sandbox Code Playgroud)
,字符串"abc"返回false,我的正则表达式和zijab建议的converse,
/^((?!^[a|b].).)*$/
Run Code Online (Sandbox Code Playgroud)
.是否可以编写正则表达式的反转,或者我是否正在思考错误?
我想清除工作空间中的所有变量,但是正则表达式定义了一些例外.
该功能clear还有一个选项-regexp
clear -regexp expr1 ... exprN清除与列出的任何正则表达式匹配的所有变量.此选项仅清除变量.
所以我正在寻找相反的结果.
还有
clearvars -regexp p1 p2 ...清除与正则表达式模式p1,p2等匹配的所有变量.
clearvars -except v1 v2 ...清除除-except标志后指定的变量以外的所有变量.
对于完整的变量名称已经相当不错了,但是对于像第一个选项那样的regexp不起作用.
FEX上有解决方案,但我不想使用其他自定义功能.
但是,对于上面略有不同的情况,有这样的方便解决方案,我想知道是否还有一个简单的方法:
keep -regexp expr1 ... exprN
具有内置功能.
我正在尝试设置mod代理来阻止除特定域之外的所有流量.我可以使用ProxyBlock指令将其配置为阻止单个域,我可以使用ProxyBlock*阻止所有内容.有没有办法阻止除一个域之外的所有内容?
谢谢,
-安德鲁
我正在尝试编写一个正则表达式(用于ASP.NET RegularExpressionValidator),以便:
如果要验证的字符串包含字母A后跟字母B,则验证应失败.
如果要验证的字符串包含字母F后跟W,X,Y,Z或任何数字中的任何一个,则验证应该失败.
我想出了这个
(AB)|(F(W|X|Y|Z|[0-9]))
Run Code Online (Sandbox Code Playgroud)
但据我所知,如果输入与该表达式匹配,验证将成功.
如果输入与该表达式不匹配,我需要做什么才能使验证失败?
非常感谢,
大卫