Python 原始字符串和 unicode:如何使用 Web 输入作为正则表达式模式?

2024-04-23

编辑:一旦您了解了“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 转换为本地编码。对于原始字符串文字,我一无所知。


除了可能必须正确编码 Unicode(在 Python 2.* 中)之外,不需要任何处理,因为没有特定的type对于“原始字符串”——它只是文字的语法,即字符串常量,并且代码片段中没有任何字符串常量,因此不需要“处理”任何内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 原始字符串和 unicode:如何使用 Web 输入作为正则表达式模式? 的相关文章

随机推荐