python - 需要正则表达式在字符串中查找 \n 或 \r
问题描述
我想搜索一个字符串以查看其中是否有任何 \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)'
推荐阅读
- php - htacess 重写规则在查询字符串中返回错误值
- java - 解析文本文件并删除java中双引号内的逗号
- material-ui - Material UI - 多行 InputBase 的高度在切换宽度时根据行数属性设置为全高
- ios - 尝试替换出现的空格时,字符串中的空格不会注册为空格
- android - 在 RecyclerView 中,在配置更改中保持元素展开/选中
- postman - 在 Postman 中,收到错误“Illegal request-target: Invalid input '|', expected pchar, '/', '?' 或“EOI”(第 1 行,第 97 列)”当我调用 API 时
- button - 使用 kommunicate 在对话流聊天机器人中链接
- jquery - 带有多个级联选择复选框的jquery jsTree
- python - 正则表达式语法中的引号
- java - OSError:[Errno 8] 执行格式错误:'/Users/CodingStark/opt/anaconda3/share/jupyter/kernels/java/ijava-1.3.0.jar'