展开'word'的python正则表达式定义

时间:2012-07-20 15:16:48

标签: python regex

python可以展开w+W+匹配的内容吗?如何在列表中添加更多字符?

为什么呢?通过一些文字并找到我想要添加到单词定义中的一些字符,例如&æ

如果我无法添加到单词定义中,那么如何添加到我的函数中:

re.findall(r'\w+', txt)
re.findall(r'\W+', txt)

2 个答案:

答案 0 :(得分:6)

\w是一组预定义的字符,您无法以编程方式修改\w的含义。但您可以使用\w语法设置一个与[]中的任何字符以及您想要的任何其他字符匹配的组。所以你要将你的正则表达式改为

[\w\&æ]+

[\W\&æ]+
分别

这匹配\w\W集中的任何字符,并添加&和æ。您可以在regexpal上使用这些表达式。

答案 1 :(得分:0)

以预编译模式使用字符组。

lower_match_chars = re.compile('[\\w\\&]+')
upper_match_chars = re.compile('[\\W\\&]+')
all_lower_matches = re.findall(lower_match_chars, txt)
all_upper_matches = re.findall(upper_match_chars, txt)