正则表达式大师,请在这里帮助我:
我需要一个正则表达式来查找多个不以换行符结尾的空格。 例如,请考虑以下文本:
Column 1 Column 2 Column 3 Column 4
Column 1 Column 2 Column 3 Column 4
正则表达式应匹配 X 列之间的空格,其中 X = 1、2 或 3,但不应匹配第 4 列之后的空格。 正则表达式也不应匹配单词"列"与其各自数字之间的单个空格。
我已经尝试过s+^(n)
但它不起作用
您可以使用此正则表达式:
/ {2,}(?! *$)/gm
正则表达式演示
解释:
-
{2,}
- 匹配 2 个或更多空格 -
}(?! *$)
- 是一个负面的展望,以确保在输入结束之前只有 0 个或更多空格时
不匹配 -
m
标志确保每个换行符都与锚$
匹配(在上面的展望中使用)
这有效:
b(s(?![nr])){2,}b
它本质上是说匹配:
- 整个"词",因此
b
词边界 s
{2,}
有两个或更多空格- 不后跟返回字符,通过使用负回溯
(?![nr])