正则表达式匹配另一个正则表达式

时间:2021-05-05 07:56:42

标签: regex

我想知道是否可以使用 RegEx 执行以下操作。

我有这个正则表达式来检查文本文件中的缩进

^( {4})+

所以从每一行的开头算起 4 个空格并包括后面的连续空格。这匹配如下(我使用下划线表示表达式匹配)

0indent
____4indent
____ 5indent
________8indent
________   11indent

它不是很有用,因为我更愿意只知道那些不在 RegEx 中的。是否有可能有一个正则表达式可以找到与当前正则表达式不匹配的空格的匹配项,沿着

^( *not matched by ^( {4})+*)

得到

0indent
    4indent
    _5indent
        8indent
        ___11indent

更新

@SeamanYen 给了我更多的见解,我已经将 RegEx 更新为

^( {4})*+( {1,})

这是第 1 组的匹配项,第 2 组包含我正在寻找的匹配项。这是我正在努力实现的最佳示例

https://regex101.com/r/Wxv6Hr/1

1 个答案:

答案 0 :(得分:1)

/^( {4})*+ {1,3}/

首先在量词后添加 + 以使搜索不会回溯。 using the "possessive" quantifier

然后搜索您想要的内容。

请看这个regexp demo

如果达到 EOF 也有效。

希望这是您所需要的。