我试图找到正则表达式来查找字符串中的字母数字单词,即字母或数字组合的单词。如果一个单词是纯数字或纯字符,我需要放弃它。只选择字母数字字。正则表达式。 PHP
4
A
回答
5
试试这个正则表达式:
\b([a-z]+[0-9]+[a-z0-9]*|[0-9]+[a-z]+[a-z0-9]*)\b
或者更紧凑:
\b([a-z]+[0-9]+|[0-9]+[a-z]+)[a-z0-9]*\b
这符合所有单词(注意这个词边界\b
),要么与一个或多个字母后跟一个或启动更多的数字,反之亦然,后面跟着一个或多个字母或数字。所以至少一个字母和至少一个数字的条件总是满足的。
0
3
随着向前看符号:
'/\b(?![0-9]+\b)(?![a-z]+\b)[0-9a-z]+\b/i'
快速测试还示出了示例性的使用:
$str = 'foo bar F0O 8ar';
$arr = array();
preg_match_all('/\b(?![0-9]+\b)(?![a-z]+\b)[0-9a-z]+\b/i', $str, $arr);
print_r($arr);
输出:
F0O
8ar
0
\b(?:[a-z]+[0-9]+|[0-9]+[a-z]+)[[:alnum:]]*\b
相关问题
- 1. 正则表达式的字母数字
- 2. 字母数字的正则表达式
- 3. 正则表达式字母数字jquery
- 4. 正则表达式只返回字母
- 5. php正则表达式数字和字母不允许只是数字
- 6. 正则表达式字母数字字符串+特殊字母
- 7. 正则表达式只接受字母数字数据
- 8. 正则表达式可选的7个字母数字字符
- 9. 正则表达式只有字母一个大写字母
- 10. [字母数字] _ [字母数字] _ [数字]的模式的正则表达式
- 11. Java的正则表达式大写字母和数字只有
- 12. 只有字母,数字,破折号的正则表达式?
- 13. 正则表达式只允许字母和数字
- 14. flex:只接受数字,字母,空格的正则表达式
- 15. 正则表达式:匹配与数字字母或字母只有
- 16. 正则表达式PHP字母,数字和默认符号
- 17. 字母+数值的正则表达式
- 18. [字母数字]的正则表达式建议[字母数字.- _ @] 31个字符
- 19. 正则表达式匹配未知字母数字字符数
- 20. 正则表达式字母数字字符出现次数
- 21. 只允许一个字母字符 - 正则表达式
- 22. 正则表达式只接受几个字母字符
- 23. 正则表达式只允许字母和一些字符
- 24. 匹配字母字符正则表达式变量只
- 25. 只允许某些非字母字符在正则表达式
- 26. 正则表达式的字符串只包含小写字母
- 27. 正则表达式模式 - 字母
- 28. 用正则表达式选择3个字母的单词
- 29. 字符串上的字母数字正则表达式
- 30. 正则表达式的字母,数字和字符的jQuery
或者'\ b([a-z] + [0-9] + | [0-9] + [a-z] +)\ w * \ b'更加紧凑。 – tj111 2010-01-14 18:45:25
@ tj111:根据定义,'\ w'不只是'[A-Za-z0-9]'。通常它里面有更多的字符,比如'_'或其他不是ASCII字符的字符。 – Gumbo 2010-01-14 18:47:36
只有前导字符是数字时才有效。马克的表达工作正常。 – manny 2010-01-14 19:03:55