正则表达式捕获字母和数字的序列,但至少包含3个字母?如何做


Regular Expression to catch a sequence of letter and digit but containing minimum 3 letters ? how to do?

我必须用PHP做一个正则表达式,它在文本中捕获只包含大写字母、数字或下划线的字符串。示例:THIS_STUFFTHIS_2_STUFFONE_MORE_STUFF_2_CATCH等。
它与/[A-Z0-9_]/ 配合良好

但是,我想捕捉的序列只有:
-最少5个字符===/[A-Z0-9_]{5,}/
-AND至少包含3个大写字母===>????

你有什么想法吗?

谢谢!

AND至少包含3个大写字母===>????

为此,请在开头使用肯定的前瞻性断言。

^(?=(?:[^A-Z'n]*[A-Z]){3})[A-Z0-9_]{5,}$

'b(?=(?:[^A-Z]*[A-Z]){3})[A-Z0-9_]{5,}+'b

演示