Notepad ++正则表达式在一条线上查找空格字符的第N个实例

我只想匹配一行中的第n个(假设为第5个)空白字符,然后用换行符替换该空格(以便我的所有行基本上都有不超过4个字/ 4个空格)。在Notepad ++中的REPLACE行上,我认为\ r \ n通常会这样做,而这只是FIND模式给我的问题。Notepad ++正则表达式在一条线上查找空格字符的第N个实例

我知道有这个相对简单的正则表达式的解决方案,我消隐,但在我的搜索“查找上线图案的第N个实例”类型的正则表达式的答案,最近已经到我想要的正则表达式也匹配一行之前的第5个空格之前的所有内容。这里是太多的代码。

^(?:\S+\s){5} 

我知道了“\ S +”或许不应该出现的,但我试图DOWN对这个代码一些基本的变化在这个下面

^(\s){5} 

都失败了这样或那样的。

所以这里是正则表达式的文本结果应该是什么。

FROM:

This line is too long. I want to shorten it. 

This line is too long. I would really like to know why my regex is not working.

TO:

This line is too long. 

I want to shorten it.

This line is too long.

I would really like to

know why my regex is

not working.

回答:

使用中发现以下的正则表达式:

((?:\S+\s){4}\S+)\s

Demo

然后用\1\r\n替换它。

这基本上捕捉到第五空间的所有东西,然后用第一个捕获组(\1)和\r\n替换它。

回答:

如果您没有问题不保留现有换行符,那么一个简单的解决方案,这将是两者分别替换这样的:

首先,搜索\s+和所有用一个空格替换。

然后做这种替换:

查找内容:

(\S+ \S+ \S+ \S+ \S+)\s 

做了 “全部替换” 有:

$1\r\n 

以上是 Notepad ++正则表达式在一条线上查找空格字符的第N个实例 的全部内容, 来源链接: utcz.com/qa/260939.html

回到顶部