我想搜索一个字符串,看其中是否有\ n或\ r字符。

如果我将正则表达式设置为re.compile(r'(\ n)'),则可以很好地找到\ n。但是,如果我尝试执行以下re.compile(r'\\ [nr]')或re.compile(r'\ [nr]')查找其中之一,则无法正常工作。

我知道第二个失败,因为\ [转义了括号并使其寻找。使用r'\ [nr]',调试器(Visual Studio Code)中的模式将搜索模式显示为'(\\\\ [n])'。
我不知道我在做什么错。 https://regex101.com/r/eZ1gT7/6#python处的正则表达式测试器可以与(([[nr]))配合使用。
提前致谢。

最佳答案

当您在正则表达式中使用[]时,它将直接使用所有字符。但是,\n\r是单个控制字符的两个字符的字符串表示形式。您想要的是r'(\n|\r)'

10-04 21:59
查看更多