使用JavaScript正则表达式检测重复空行遇失效问题
重复空行检测的正则表达式修正方案
你用的\s*\n\n+正则之所以无效,是因为它只能匹配零或多个空白符后紧跟至少两个连续换行,但你的测试文本里的空行是换行后夹杂了空格再换行(比如\n \n \n这种结构),这种场景下原正则无法覆盖中间带空格的换行间隔。
要解决这个问题,改用以下正则就能准确匹配所有包含空白符的重复空行:
(?:\s*\n){2,}
正则说明:
(?:...):非捕获组,用来把\s*\n作为一个整体重复\s*\n:匹配零或多个空白符(空格、制表符等)加一个换行{2,}:表示前面的组至少重复两次,也就是至少两个带空白符的换行,对应重复空行的场景
测试文本示例:
test1
test2
test3
test4test1
test2
test3
test4
用这个正则就能精准匹配文本中那些夹杂空格的重复空行,不管空行里有多少空白符,只要是连续的空行(含空白符的行)都能被检测到。
内容的提问来源于stack exchange,提问作者user310291
相关产品推荐
相关产品推荐

