编辑:一旦你了解了“r”标志的含义,这个问题就没有意义了。更多细节在这里。对于寻找快速答案的人,我在下面添加了。
如果我在 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 转换为本地编码。对于原始字符串文字,我一无所知。