标签: regex
我想使用正则表达式删除两个点之间存在的任何空间, 例如:
s . . . . e - > s .... e
s . . . . e
s .... e
我尝试将\.\s+\.替换为..,但效果如下:
\.\s+\.
..
s . . . . e - > s .. .. e
s .. .. e
如您所见,它找到第一个和第二个点之间的第一个匹配,并在匹配后前进到下一个字符,然后在第三个和第四个点之间找到匹配,因此第二个和第二个点之间的匹配第三个点被忽略。
如何编写正则表达式来正确处理它?</ p>
答案 0 :(得分:2)
使用正则表达式look ahead assertion,如下所示
\.\s+(?=\.)
并用单点(.)字符串替换它。
.