python字符串前面加上'r'的作用 - Yangtze88 - 博客园

import re

p = "18888888888"

"""
    基于正则表达式的字符串
        1、正则表达式对于\d这类正则表达,前面是否加r都不影响结果【正则内部已做了兼容】
        2、但是如果对于\d这类特殊字符,如果不加r,会有一条灰色的警告线【PEP 8:W605 无效的转义序列 '\d'】
        3、基于正则表达式【\d、\s】这些都是一个特殊的字符,这里的\不是一个转义字符【而是代表一个特殊的元素】为此这里建议前面加r
"""
print(re.fullmatch(r"\d{4}-" + f"{p}", "08101-18888888888"))

"""
    基于普通的字符串
        1、\n前面加了r代表【\】不是一个有效转义字符
        2、\n前面如果不加r【\】代表是有效转义字符
"""
print(r"\n23342")  # 这里\n代表是一个字符串
print("\n2343423")  # 这里\n代表是一个转义字符

更多推荐