正则表达式查找与特定模式匹配的行
Regex to find lines that match a specific pattern
我有一个 txt 文件,它的数据有一个 ///////////
来划分结果。我需要找到只有 1 行的结果。
我试过了,但我似乎无法弄清楚如何区分 ///////////
之间的多行
例如,我只需要找到 a 和 d。
///////////
a
///////////
b
c
//////////
d
/////////
这会将您需要的字母拉入捕获组:
\/+\s+(\S+)\s+(?=\/+)
解释:
- 至少一个
/
,其次是
- 至少一个空格
\s
(包括换行符),后跟
- 至少一个非空白字符
\S
,后跟
- 至少一个空格
\s
,并且
- 至少一个
/
,在一个积极的前瞻组中
- Ctrl+F
- 查找内容:
^/+\R\K.+(?=\R/+$)
- 检查 环绕
- 检查 正则表达式
- 取消选中
. matches newline
- 在当前文档中查找所有内容
解释:
^ # beginning of line
/+ # 1 or more slashes
\R # any kind of linebreak
\K # reset match
.+ # 1 or more any character but newline
(?= # positive look ahead, make sure we have after:
\R # any kind of linebreak
/+ # 1 or more slashes
$ # end of ine
) # end look ahead
屏幕截图(之前):
截图(之后):
我有一个 txt 文件,它的数据有一个 ///////////
来划分结果。我需要找到只有 1 行的结果。
我试过了,但我似乎无法弄清楚如何区分 ///////////
例如,我只需要找到 a 和 d。
///////////
a
///////////
b
c
//////////
d
/////////
这会将您需要的字母拉入捕获组:
\/+\s+(\S+)\s+(?=\/+)
解释:
- 至少一个
/
,其次是 - 至少一个空格
\s
(包括换行符),后跟 - 至少一个非空白字符
\S
,后跟 - 至少一个空格
\s
,并且 - 至少一个
/
,在一个积极的前瞻组中
- Ctrl+F
- 查找内容:
^/+\R\K.+(?=\R/+$)
- 检查 环绕
- 检查 正则表达式
- 取消选中
. matches newline
- 在当前文档中查找所有内容
解释:
^ # beginning of line
/+ # 1 or more slashes
\R # any kind of linebreak
\K # reset match
.+ # 1 or more any character but newline
(?= # positive look ahead, make sure we have after:
\R # any kind of linebreak
/+ # 1 or more slashes
$ # end of ine
) # end look ahead
屏幕截图(之前):
截图(之后):