s15*_*99d 7 regex regex-negation
我需要一个正则表达式来查找非az或0-9的所有字符
我不知道正则表达式中NOT运算符的语法.
我希望正则表达式不是[az,AZ,0-9].
提前致谢!
Mic*_*man 15
这是^.你的正则表达式应该使用[^a-zA-Z0-9].注意:此字符类可能具有非ascii语言环境的意外行为.例如,这将匹配é.
如果正则表达式是perl兼容的(PCRE),则可以使用\s匹配所有空格.这将扩展为包含空格和其他空白字符.如果它们是posix兼容的,请使用[:space:]字符类(如下所示:) [^a-zA-Z0-9[:space:]].我建议使用[:alnum:]而不是a-zA-Z0-9.
如果要匹配行的末尾,则应$在末尾包含a .只有当您的匹配应该跨越多行时,才会启用多行模式,这会降低较大文件的性能,因为必须将更多文件读入内存.
为什么不包括样本输入的副本,要匹配的文本以及用于执行此操作的程序?
Don*_*nut 11
这很简单; 你只需^在字符集的开头添加否定该字符集.
例如,以下模式将匹配不在该字符集中的所有内容 - 即,不是小写ASCII字符或数字:
[^a-z0-9]
Run Code Online (Sandbox Code Playgroud)
作为旁注,我发现的一些更有用的正则表达式资源是这个网站和这个备忘单(C#特定).