Regex查找并提取符合筛选条件的行

Regex查找并提取符合筛选条件的行,regex,notepad++,Regex,Notepad++,我正在使用记事本++ 以及尝试在本地处理日志文件,并尝试使用regex函数从包含以下内容的文件中提取任何数据: -1还是? 我对reg表达式不太在行,但我认为这样做可以奏效,但没有效果: ^.*\b(-1|?)\b.*$ 正如你在这里看到的: 在低于6.1.1的版本中,记事本++的正则表达式不支持管道“|”字符。更新您的notepad++版本并使用正则表达式: ^.*(\-1|[\?]).*$ 请尝试以下正则表达式: (.*-1.*|.*\?.*) 首先,如果要查找?,则应将其转义为\

我正在使用记事本++ 以及尝试在本地处理日志文件,并尝试使用regex函数从包含以下内容的文件中提取任何数据: -1还是? 我对reg表达式不太在行,但我认为这样做可以奏效,但没有效果:

 ^.*\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。你用的是哪个版本?