Python字母数字正则表达式
下面我有以下正则表达式:Python字母数字正则表达式,python,regex,match,Python,Regex,Match,下面我有以下正则表达式: alphanumeric = compile('^[\w\d ]+$') 我正在运行此正则表达式的当前数据: Tomkiewicz Zigomalas Andrade Mcwalters 我有一个单独的正则表达式来识别字母字符,但是上面的数据仍然符合字母数字标准 编辑:如何停止与上述正则表达式匹配的唯一alpha数据?说明:它可以有两种形式: 以数字字符开始,然后应该有一些字符,后面可能有任意数量的字母数字字符 以字母开始,然后是一些数字,后面是任意数量的字母数字
alphanumeric = compile('^[\w\d ]+$')
我正在运行此正则表达式的当前数据:
Tomkiewicz Zigomalas Andrade Mcwalters
我有一个单独的正则表达式来识别字母字符,但是上面的数据仍然符合字母数字标准
编辑:如何停止与上述正则表达式匹配的唯一alpha数据?说明:它可以有两种形式:
>>> an_re = r"(\d+[A-Z])|([A-Z]+\d)[\dA-Z]*"
>>> re.search(an_re, '12345', re.I) # not acceptable string
>>> re.search(an_re, 'abcd', re.I) # not acceptable string
>>> re.search(an_re, 'abc1', re.I) # acceptable string
<_sre.SRE_Match object at 0x14153e8>
>>> re.search(an_re, '1abc', re.I)
<_sre.SRE_Match object at 0x14153e8>
>>an_re=r“(\d+[A-Z])|”([A-Z]+\d)[\dA-Z]*”
>>>re.search(an_re,'12345',re.I)#不可接受的字符串
>>>re.search(an_re,'abcd',re.I)#不可接受的字符串
>>>检索(一个可接受的字符串,'abc1',re.I)#
>>>重新搜索(关于'1abc',关于I)
说明:它可以有两种形式:
>>> an_re = r"(\d+[A-Z])|([A-Z]+\d)[\dA-Z]*"
>>> re.search(an_re, '12345', re.I) # not acceptable string
>>> re.search(an_re, 'abcd', re.I) # not acceptable string
>>> re.search(an_re, 'abc1', re.I) # acceptable string
<_sre.SRE_Match object at 0x14153e8>
>>> re.search(an_re, '1abc', re.I)
<_sre.SRE_Match object at 0x14153e8>
>>an_re=r“(\d+[A-Z])|”([A-Z]+\d)[\dA-Z]*”
>>>re.search(an_re,'12345',re.I)#不可接受的字符串
>>>re.search(an_re,'abcd',re.I)#不可接受的字符串
>>>检索(一个可接受的字符串,'abc1',re.I)#
>>>重新搜索(关于'1abc',关于I)
使用前瞻来断言至少存在一个字母和至少一个数字的条件:
(?=.*[a-zA-Z])(?=.*[0-9])^[\w\d ]+$
上面的正则表达式使用两个lookahead首先检查每个条件的整个字符串。查找开始搜索,直到找到指定范围内的单个字符。如果断言匹配,那么它将转到下一个断言。最后一部分我借用了OP最初的尝试,只是确保整个字符串由一个或多个低/高字母、下划线、数字或空格组成。使用前瞻来断言至少存在一个字母和至少一个数字的条件:
(?=.*[a-zA-Z])(?=.*[0-9])^[\w\d ]+$
上面的正则表达式使用两个lookahead首先检查每个条件的整个字符串。查找开始搜索,直到找到指定范围内的单个字符。如果断言匹配,那么它将转到下一个断言。最后一部分借用了OP最初的尝试,只是确保整个字符串由一个或多个上下字母、下划线、数字或空格组成。括号中的字符类与任何表达式匹配
[\w\d]
表示“数字或字母”。如果只需要字母,请删除\d
。我需要字母和数字。我希望它只与字母数字数据匹配,但它与仅为字母字符的数据匹配。@g.d.d.c\w
也包括数字:-)所以“字母数字数据”必须至少包含一个数字和一个字母?例如,“1a”是字母数字,但“1”不是,而“a”不是?@Kevin是的,没错。括号中的字符类与任何表达式都匹配[\w\d]
表示“数字或字母”。如果只需要字母,请删除\d
。我需要字母和数字。我希望它只与字母数字数据匹配,但它与仅为字母字符的数据匹配。@g.d.d.c\w
也包括数字:-)所以“字母数字数据”必须至少包含一个数字和一个字母?例如,“1a”是字母数字,但“1”不是,而“a”不是?@Kevin是的,这是正确的。@Glitchezz它可以工作,与I
,但理解我的RE?请记住,我没有使用\w
,因为它包括\u
,我留下了^
和$
作为exercise@Glitchezz它将与I
一起工作,但理解我的RE?记住我没有使用\w
,因为它包括\u
,我把^
和$
作为练习留给了你。我试图理解你的RE,但不能,你能给我解释一下吗?(虽然我已将此书签为明天的课程)+1作为高级示例。谢谢,特努布,我试着理解你的意思,但是不能,你能给我解释一下吗?(虽然我已将此书签为明天的课程)+1作为高级示例。谢谢