正则匹配中单换行符\n与双换行符\n\n的差异是什么?
\n和\n\n的正则匹配差异 以下规则基于正则默认匹配模式,未开启多行匹配、忽略空白等特殊修饰符:
\n匹配单个换行符:只要文本中出现一次换行(对应键盘按一次回车的操作)就会命中,匹配结果长度为1个字符\n\n匹配连续两个紧挨着的换行符:对应文本中连续按两次回车、中间没有任何可见内容的空行效果,只有两个换行符之间无其他字符时才会命中,匹配结果长度为2个字符
三个匹配场景的正确性判定
原始示例的文本显式还原所有转义字符后,完整字符序列为:
Line 1\n\nLine 2\n\nLine 3
对照三个场景:
- 场景1:Line 1末尾的
\n后多了冗余换行,和实际字符序列不符 - 场景2:Line 1开头多了不存在的前置
\n,原始文本开头没有空行,判定错误 - 场景3的字符排列完全匹配原始文本的实际结构,是唯一符合规则的场景
内容的提问来源于stack exchange,提问作者wyc
相关产品推荐
相关产品推荐

