Regex 正则表达式-搜索包含至少4个字符的字母和数字的单词
我正在努力寻找回报,比如Regex 正则表达式-搜索包含至少4个字符的字母和数字的单词,regex,Regex,我正在努力寻找回报,比如 hal9 bet97 78test 但不是 h4t 4444 test h1 基本上,任何包含数字和字母但至少包含4个字符的单词 目前,我正在尝试在一个单词中输入数字和字母 (?=\w*[a-z])(?=\w*[0-9])\w+ 但是我试着把它限制在4个以上的字符 建议?您可以使用 \b(?=\w*[A-Za-z])(?=\w*[0-9])\w{4,}\b 看 如果在正则表达式风格中\w支持Unicode(例如Pythonre),请使用 \b(?=\w*[^\w
hal9
bet97
78test
但不是
h4t
4444
test
h1
基本上,任何包含数字和字母但至少包含4个字符的单词
目前,我正在尝试在一个单词中输入数字和字母
(?=\w*[a-z])(?=\w*[0-9])\w+
但是我试着把它限制在4个以上的字符
建议?您可以使用
\b(?=\w*[A-Za-z])(?=\w*[0-9])\w{4,}\b
看
如果在正则表达式风格中\w
支持Unicode(例如Pythonre
),请使用
\b(?=\w*[^\w\d)](?=\w*\d)\w{4,}\b
另外,如果您的正则表达式风格支持Unicode属性类,并且需要检查任何Unicode字母,那么可以使用
\b(?=\w*\p{L})(?=\w*\d)\w{4,}\b
其中\p{L}
匹配任何Unicode字母
详情:
-单词边界\b
-在任何零个或多个单词字符之后,必须有一个字母(?=\w*[A-Za-z])
-在任何零个或多个字字符之后,必须有一个数字(?=\w*[0-9])
-四个或四个以上的单词字符(字母、数字、连接器标点符号/\w{4,}
)
-单词边界\b
\b(?!\d+\b|[a-z]+\b)[a-z\d]{4,}\b
或者,如果需要区分大小写:
(?i)\b(?!\d+\b|[a-z]+\b)[a-z\d]{4,}\b
在线查看
-单词边界\b
-反向前瞻,以防止1+字母字符或1+数字到达单词边界(?!\d+\b |[a-z]+\b)
-4+字母数字字符,直到单词边界[a-z\d]{4,}\b
编辑: 您还可以通过在“负前瞻”中使用另一个选项来排除带有下划线的子字符串:
\b(?!\d+\b|[a-z]+\b|\w*_)\w{4,}\b
试试\b(?=\d*[a-z])(?=[a-z]*\d)[\da-z]{4,}\b