我想搜索一个字符串以查看其中是否有任何 \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 回答
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
添加回答
举报
0/150
提交
取消