示例:My Name is Mohit. Surname is Kumar。正则表达式应该只匹配is后面的空格,因为它后面有多个空格,但不匹配其他单词后面的空格,因为它们后面只有一个空格,也不匹配Mohit.后面的空格,因为单词后面有一个句点。我试过了
My Name is Mohit. Surname is Kumar
is
Mohit.
(?<!\.)\s{2,}
(?<!\.)\s+
pwuypxnk1#
尝试:
/(?<!\.|\s)\s{2,}/gm
查看演示:https://regex101.com/r/imlcbQ/1
roqulrg32#
试试这个:(?<=\w)\s{2,}它之所以有效,是因为:
(?<=\w)\s{2,}
实际上,它将匹配2+个空格,只要它们前面有一个单词字符。由于点不是单词字符,因此点后的空格将不被考虑。
nfzehxib3#
这是工作正则表达式:
(?<=\S)(?<!\.)\s{2,}
*(?<=\S):匹配非空格字符后面的位置的正向后查找Assert。*(?<!.):负后看Assert,确保匹配前面没有句点。*\s{2,}:匹配两个或多个连续的空格字符。
regex101:https://regex101.com/r/CWyQah/1
3条答案
按热度按时间pwuypxnk1#
尝试:
查看演示:https://regex101.com/r/imlcbQ/1
roqulrg32#
试试这个:
(?<=\w)\s{2,}
它之所以有效,是因为:
实际上,它将匹配2+个空格,只要它们前面有一个单词字符。由于点不是单词字符,因此点后的空格将不被考虑。
nfzehxib3#
这是工作正则表达式:
*(?<=\S):匹配非空格字符后面的位置的正向后查找Assert。
*(?<!.):负后看Assert,确保匹配前面没有句点。
*\s{2,}:匹配两个或多个连续的空格字符。
regex101:https://regex101.com/r/CWyQah/1