匹配字母数字串的正则表达式

0 投票
5 回答
8158 浏览
提问于 2025-04-15 15:29

如果字符串 "x" 里面有任何字母或数字,就把这个字符串打印出来。 怎么用正则表达式来做到这一点呢? 下面的代码是错误的。

if re.search('^[A-Z]?[a-z]?[0-9]?', i):
        print i

5 个回答

2

我建议你看看RegexBuddy。它可以很好地解释正则表达式。

RegexBuddy

RegexBuddy

RegexBuddy

4

re — 正则表达式操作

这个问题其实挺复杂的。可惜的是,\w 包含了下划线 _,而 [a-z] 的解决方案是基于26个字母的字母表。关于下面的解决方案,请阅读 pydoc 中关于 LOCALE 和 UNICODE 的部分

"[^_\\W]"

请注意,由于你只是测试某个东西是否存在,所以不需要使用量词——实际上,使用可能匹配0次的量词会导致错误的结果。

2

你想要

if re.search('[A-Za-z0-9]+', i):
    print i

撰写回答