正则表达式捕获一系列字母和数字,但包含至少3个字母?怎么做?

时间:2015-03-16 13:18:55

标签: php regex

我必须在PHP中使用正则表达式,它在文本中捕获仅包含大写字母,数字或下划线的字符串。 例如:THIS_STUFFTHIS_2_STUFFONE_MORE_STUFF_2_CATCH等... 它适用于:/[A-Z0-9_]/

但是,我想抓住仅有的序列:
- 最少5个字符==> /[A-Z0-9_]{5,}/
- 并且包含最小3个大写字母==> ????

你有什么想法吗?

谢谢!

1 个答案:

答案 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

DEMO