为了账号安全,请及时绑定邮箱和手机立即绑定

需要正则表达式在字符串中查找 \n 或 \r

需要正则表达式在字符串中查找 \n 或 \r

泛舟湖上清波郎朗 2021-08-05 15:03:12
我想搜索一个字符串以查看其中是否有任何 \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])。提前致谢。
查看完整描述

3 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

当您[]在正则表达式中使用时,它从字面上接受任何字符。但是\n\r是单个控制字符的两字符字符串表示形式。你想要的是r'(\n|\r)'


查看完整回答
反对 回复 2021-08-05
?
MM们

TA贡献1886条经验 获得超2个赞

为什么是正则表达式?


crlf = set('\r\n')


def contains_cr_lf(text):

    """Returns True if text includes linefeeds or carriage returns as characters."""

    return any(x in crlf for x in text)


for t in ["Some text \t without: ","""Some text

with them: """]:

    print t, contains_cr_lf(t) 

结果:


Some text    without:  False

Some text

with them:  True


查看完整回答
反对 回复 2021-08-05
  • 3 回答
  • 0 关注
  • 337 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信