像 n一样,在Python中执行原始字符串,例如 w或 d



我是Python的新手。有人可以告诉我,这两个正则表达式语句(re.findall(r" d ","我年龄35"((和(re.findall(" d d ","我年龄35"(有什么区别(。

我有这样的理解,即第一个语句中的原始字符串将使" d "无效,因为这是原始字符串的主要作用 - 使逃生字符不活跃。换句话说,如果使用原始字符串,则" d "将不是用于查找/搜索/匹配数字的元字符。但是,我现在看到两个语句都返回相同的结果。

python parser 正则表达式解析器手柄逃脱序列。这意味着两个引擎支持的任何逃生序列都必须使用双重斜线,否则您使用原始字符串字面的字体,因此Python Parser不会尝试解释逃生序列。

在这种情况下, d python 没有任何意义,因此将后斜切留在适当的位置以使re模块可以处理。因此,在这里具体,两个片段之间没有区别。

但是,如果您需要在正则表达式中的其他文本(如 section(之前匹配 backslash ,而无需原始字符串,则必须使用 '\\section'来定义模式!那是因为Python解释器将'\section'视为产生单个后斜线的逃生序列,然后正则表达式PARSER看到逃生序列s的开始。

请参阅python正则表达式中的后斜切和原始字符串文字的部分。

相关内容

最新更新