2
4

2 回答 2

5

如果你想写“\w 除了下划线”,你可以使用否定字符类来做到这一点:

[^\W_]
于 2012-03-22T22:05:43.450 回答
0

正如 buckley 所指出的,“Python 正则表达式匹配 Unicode 属性”提供了一些在 Python 中使用正则表达式 + unicode 的替代方法。如果您想要的只是字母数字字母数字 + 下划线仅字母,则可能更容易坚持 Mark Byers 的建议([^\W_]以及\w分别[^\W\d_]使用re.UNICODEactive;编辑:顺序错误...)。

否则,查找哪些字符类作为 IRI 部分有效,或者使用支持 unicode 字符类的正则表达式引擎,或者 - 如果您需要纯 python 解决方案 - 我建议我在回答该问题时提供的代码(或类似的解决方案)。

于 2012-03-22T22:14:14.607 回答