我第一次学习 re 模块但遇到了错误。
代码-
import re
my_str='''pyhton
c++
java
c++
js node
ds algo
pyhton
js node
javac++
java
js node
ds algo'''
var = re.findall("c++",my_str)
Run Code Online (Sandbox Code Playgroud)
它给出了错误 -re.error: multiple repeat at position 2
查看Python RE 模块文档。“+”字符在正则表达式中具有特殊含义。它表示前一个字符重复一次或多次。
因此,'c++'
正则表达式实际上意味着“字符 'c' 重复一次或多次,重复一次或多次”
要实际识别字符“+”,您需要使用 转义它'\'
。所以你的正则表达式变成了'c\+\+'
.
我始终建议使用在线正则表达式编辑器以交互方式尝试您的正则表达式。regexr和regex101是此类编辑器的很好的例子。