Python 在不应该使用正则表达式的时候,使用正则表达式就是在使用加号;T

Python 在不应该使用正则表达式的时候,使用正则表达式就是在使用加号;T,python,regex,Python,Regex,我这里有一个正则表达式: "\d+.?\d*\^\d+\.?\d*" 它应该做的是在1*1+2^10*1这样的字符串中查找类似2^10的内容,但它会返回1+2^10 我做错了什么?我假设这与正则表达式中的?有关,字符表示“匹配任何字符”。你必须逃离它: "\d+\.?\d*\^\d+\.?\d*" 您可以使用+1尝试正则表达式。可能值得一提的是,在正则表达式中使用原始字符串文字几乎总是一个好主意,但在这种情况下,它不会有任何区别。原始字符串文字?你能解释一下吗?有人在另一个问题中提到了,但我

我这里有一个正则表达式:

"\d+.?\d*\^\d+\.?\d*"
它应该做的是在
1*1+2^10*1
这样的字符串中查找类似
2^10
的内容,但它会返回
1+2^10


我做错了什么?我假设这与正则表达式中的

有关,
字符表示“匹配任何字符”。你必须逃离它:

"\d+\.?\d*\^\d+\.?\d*"

您可以使用

+1尝试正则表达式。可能值得一提的是,在正则表达式中使用原始字符串文字几乎总是一个好主意,但在这种情况下,它不会有任何区别。原始字符串文字?你能解释一下吗?有人在另一个问题中提到了,但我真的不知道他们在说什么about@SmartLemon:在字符串前面加上r:
r“raw string”
,请参阅上的python文档。raw string literal是不考虑(python)转义的字符串值。您可以通过在字符串前面加一个
r
来指定它们,例如
r“My\.Pattern”