Regex查找并提取符合筛选条件的行
我正在使用记事本++ 以及尝试在本地处理日志文件,并尝试使用regex函数从包含以下内容的文件中提取任何数据: -1还是? 我对reg表达式不太在行,但我认为这样做可以奏效,但没有效果:Regex查找并提取符合筛选条件的行,regex,notepad++,Regex,Notepad++,我正在使用记事本++ 以及尝试在本地处理日志文件,并尝试使用regex函数从包含以下内容的文件中提取任何数据: -1还是? 我对reg表达式不太在行,但我认为这样做可以奏效,但没有效果: ^.*\b(-1|?)\b.*$ 正如你在这里看到的: 在低于6.1.1的版本中,记事本++的正则表达式不支持管道“|”字符。更新您的notepad++版本并使用正则表达式: ^.*(\-1|[\?]).*$ 请尝试以下正则表达式: (.*-1.*|.*\?.*) 首先,如果要查找?,则应将其转义为\
^.*\b(-1|?)\b.*$
正如你在这里看到的:
在低于6.1.1的版本中,记事本++的正则表达式不支持管道“|”字符。更新您的notepad++版本并使用正则表达式:
^.*(\-1|[\?]).*$
请尝试以下正则表达式:
(.*-1.*|.*\?.*)
首先,如果要查找
?
,则应将其转义为\?
第二,我不知道记事本+,但通常
-
不被视为单词符号,因此第一个\b
不会作为“单词的开头”使用,应该被删除,同样的?
也不是单词的开头或结尾,所以对它来说\b
都是无用的。你需要逃避这个问题吗?使用字符的字符。我会帮你把它分解,这样可以帮助你学习正则表达式
^(.*(?:-1|\?).*)$
-匹配的非捕获组?或-1(?:-1 | \?)
-包装在一个捕获组中,该捕获组与?或者-1,然后呢(.*(-1 | \?).*)
对于行边界,这将生成一个捕获行列表,其中包含-1或?您使用哪个版本的记事本+。如果你的版本低于10.1.1,请看下面我的答案。我在他们的网站上看到的最新版本是6.1.2对不起,我错了。我是说6.1.1。你用的是哪个版本?