我需要正则表达式匹配
[0-9_-]
(如果str1
,str_
,str-
,则为真
---------str
,-s-t-r-
但如果123
,---
,___
,123---
,123___
,---___
)则为假我这样做^(?=.*[a-zA-Z_-].*)(?=.*\d.*)[\w]{3,}$
但它与str1
,1str
,str-
,str_
等字符串不匹配。
答案 0 :(得分:0)
这符合您的需要:
([0-9_-]*[a-z][0-9_-]*){3}
匹配
str1
str_
1str
str-
不匹配:
123
---
___
123---
123___
---___
这些术语是单独出现还是用空格分隔,逗号?
如果它们一个接一个地出现,你应该使用^和$之间的正则表达式。
答案 1 :(得分:0)
试试这个:[0-9_-]*[a-zA-Z]{3,}[0-9_-]*
。这假定您的字符串必须至少包含3个字母。