【发布时间】:2023-04-05 15:39:01
【问题描述】:
我正在寻找一个正则表达式来提取仅包含字母数字字符的单词:
string = 'This is a $dollar sign !!'
matches = re.findall(regex, string)
matches = ['This', 'is', 'sign']
这可以通过对字符串进行标记并使用以下正则表达式单独评估每个标记来完成:
^[a-zA-Z0-9]+$
由于性能问题,我希望能够在不标记整个字符串的情况下提取字母数字标记。我最接近的是
regex = \b[a-zA-Z0-9]+\b
,但它仍然会提取包含字母数字字符的子字符串:
string = 'This is a $dollar sign !!'
matches = re.findall(regex, string)
matches = ['This', 'is', 'dollar', 'sign']
是否有正则表达式能够解决这个问题?我尝试了不同的方法,但无法提出解决方案。
【问题讨论】:
-
提示:您不能为此使用
\b,因为$和dollar之间是一个单词边界。
标签: python regex alphanumeric