将特殊字符之间的空格添加到相邻字符串中

问题描述 投票:0回答:1

我正在使用Sublime正则表达式将文本转换为:

test! one.two .three; four, five . six. .seven

外观如下:test ! one . two . three ; four , five . six . . seven

[当我尝试使用捕获组并替换(\w)([^\w\s]+)|([^\w\s]+)(\w)时使用:$1 $2(注意空格),字符串完全混乱,删除了一些字符。

test ! one .two hree ; four , five . six . even

奇怪的是,当我跳过流水线并单独运行命令时(替换为(\w)([^\w\s]+),然后用另一个替换为([^\w\s]+)(\w)),结果如预期的那样。

我如何管道(或)正则表达式变体并保持分组?

谢谢!

regex sublimetext3
1个回答
0
投票

一个选项是使用两个捕获组

(\w+)\h*([^\w\s](?:\h+[^\w\s])*)\h*

Regex demo

替换使用$1 $2

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.