Python正则表达式来查找字母和数字

2024-06-26 13:38:45 发布

您现在位置:Python中文网/ 问答频道 /正文

输入字符串

我使用'findall'来查找只有字母和数字的单词(未指定要查找的单词的数量)。在

我创造了:

words = re.findall ("\ w * \ s", x) # x is the input string 如果我输入"asdf1234 cdef11dfe a = 1 b = 2" 这些句子分开了{} 我只想挑asdf1234cdef11dfe

如何编写正则表达式?在


Tags: the字符串reinput数量stringis字母
2条回答

尝试/[a-zA-z0-9]{2,}/。在

这将在一行中至少查找2次任何字母数字字符([a-zA-Z0-9])。这是过滤掉字符串中一个字母单词的唯一方法。在

\w的问题是它包含下划线。在

这个应该有用:(?<![\"=\w])(?:[^\W_]+)(?![\"=\w])

说明

(?:[^\W_])+除非单词字符或下划线以外的任何内容至少一次(非捕获组)

(?<![\"=\w])前面没有"或单词字符

(?![\"=\w])后面没有"或单词字符

RegEx Demo

示例代码Run online

import re

regex = r"(?<![\"=\w])(?:[^\W_]+)(?![\"=\w])"

test_str = "a01a b02 c03 e dfdfd abcdef=2 b=3 e=4 c=\"a b\" aaa=2f f=\"asdf 12af\""

matches = re.finditer(regex, test_str)

for matchNum, match in enumerate(matches):
    print (match.group())

相关问题 更多 >