匹配换行符-\ n或\ r \ n?

KeyNone

在编写此答案时,我必须专门针对换行符进行匹配,而不是使用s-flag(dotall-点匹配换行符)。

尝试匹配\n时,通常用于测试正则表达式的网站的行为会有所不同\r\n

我注意到

  • Regex101仅与上的换行符匹配\n
    示例-删除\r并匹配)

  • RegExr匹配换行符既不\n 也不\r\n
    ,我无法找到的东西,使之匹配断行,除了m-flag和\s
    例如

  • Debuggex的行为更加不同:
    此示例\r\n它仅与匹配,而
    此处仅与匹配\n,并且指定了相同的标志和引擎

我完全知道m-flag(多行-使^匹配行的开头和$结尾),但是有时这不是一个选择。与相同\s,因为它也匹配制表符和空格。

我认为使用unicode换行符(\u0085)失败,因此:

  1. 有没有一种故障保险方法可以将换行符上的匹配项(无论使用哪种语言,最好都集成到正则表达式中)?
  2. 上述网站为什么不同的表现(尤其是Debuggex,一旦匹配只有\n一次只\r\n)?
彼得·范德沃尔

会反方向回答。

2)关于这个问题的完整解释\r\n我必须参考这个问题,这个问题比我在这里发布的要完整得多:\ n和\ r之间的区别?

长话短说,Linux\n用于新的Windows\r\n和旧版Mac \r因此,有多种方式可以编写换行符。例如,您的第二个工具(RegExr)在单个工具上匹配\r

1)[\r\n]+按照Ilya的建议可以使用,但也可以匹配多个连续的换行符。(\r\n|\r|\n)更正确。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章