我必须在PHP中使用正则表达式,它在文本中捕获仅包含大写字母,数字或下划线的字符串。
例如:THIS_STUFF
,THIS_2_STUFF
,ONE_MORE_STUFF_2_CATCH
等...
它适用于:/[A-Z0-9_]/
但是,我想抓住仅有的序列:
- 最少5个字符==> /[A-Z0-9_]{5,}/
- 并且包含最小3个大写字母==> ????
你有什么想法吗?
谢谢!
答案 0 :(得分:2)
AND包含最小3个大写字母==> ????
在开始时使用positive lookahead assertion。
^(?=(?:[^A-Z\n]*[A-Z]){3})[A-Z0-9_]{5,}$
OR
\b(?=(?:[^A-Z]*[A-Z]){3})[A-Z0-9_]{5,}+\b