编辑:一旦您了解了“r”标志的含义,这个问题就没有真正意义了。更多细节here https://stackoverflow.com/questions/2081640/what-exactly-do-u-and-rstring-flags-in-python-and-what-are-raw-string-litter/2081708#2081708。
对于寻找快速答案的人,我在下面添加了内容。
如果我在 Python 脚本中手动输入正则表达式,我可以为我的模式字符串使用 4 种标志组合:
- p1 =“模式”
- p2 = u“模式”
- p3 = r“模式”
- p4 = ru“模式”
我有一堆来自 Web 表单输入的 unicode 字符串,并希望将它们用作正则表达式模式。
我想知道应该对字符串应用什么过程,这样我就可以从使用上面的手动表单中得到类似的结果。就像是 :
import re
assert re.match(p1, some_text) == re.match(someProcess1(web_input), some_text)
assert re.match(p2, some_text) == re.match(someProcess2(web_input), some_text)
assert re.match(p3, some_text) == re.match(someProcess3(web_input), some_text)
assert re.match(p4, some_text) == re.match(someProcess4(web_input), some_text)
someProcess1 到 someProcessN 是什么?为什么?
我想 someProcess2 不需要做任何事情,而 someProcess1 应该做一些 unicode 转换为本地编码。对于原始字符串文字,我一无所知。