Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex text-查找没有特定表达式的所有行_Regex_Text_Regular Language_Emeditor - Fatal编程技术网

Regex text-查找没有特定表达式的所有行

Regex text-查找没有特定表达式的所有行,regex,text,regular-language,emeditor,Regex,Text,Regular Language,Emeditor,如何查找文本文件中不符合此模式的所有行: xxx xx xxx.xxx (无论每个零件的长度;'x'可以是任何字符) 我可以通过搜索正则表达式^(.*-.*-.*\.+.*)$(使用EmEditor)来查找具有此模式的行 但是我找不到一个方法来找出负面案例 谢谢 emeditor声明正则表达式语法基于Perl正则表达式语法。 您可以使用负前瞻(?!)来确保您的模式不会出现在行中 不使用*,您可以使用一个否定字符类[^-\r\n]*来匹配除所列字符以外的任何字符 ^(?!(?:[^-\r\n]*-

如何查找文本文件中不符合此模式的所有行:

xxx xx xxx.xxx

(无论每个零件的长度;'x'可以是任何字符)

我可以通过搜索正则表达式
^(.*-.*-.*\.+.*)$
(使用EmEditor)来查找具有此模式的行

但是我找不到一个方法来找出负面案例

谢谢

emeditor声明
正则表达式语法基于Perl正则表达式语法。

您可以使用负前瞻
(?!
)来确保您的模式不会出现在行中

不使用
*
,您可以使用一个否定字符类
[^-\r\n]*
来匹配除所列字符以外的任何字符

^(?!(?:[^-\r\n]*-){2}[^.\r\n]*\.).+$
解释

  • ^
    字符串的开头
  • (?!
    负前瞻,断言右边的不是
    • (?:[^-\r\n]*-){2}
      重复2次匹配除-或换行符以外的任何字符,然后进行数学
      -
    • [^.\r\n]*\.
      匹配除
      以外的任何字符,然后匹配一个
  • 关闭前瞻
  • +
    将除换行符以外的任何字符匹配1次以上
  • $
    字符串结尾

我是EmEditor的开发者。如果你使用EmEditor,你可以在过滤器工具栏中输入
(.*-.*-.*.+.*)
,打开使用正则表达式匹配整个字符串,以及负数按钮