正则表达式匹配至少包含字符和更多的单词
问题描述:
我是编程Java和使用正则表达式的新手。正则表达式匹配至少包含字符和更多的单词
我想了解更多关于正则表达式的知识,并且我有以下问题。
我想创建一个正则表达式将:
- 比赛至少2个字符
- 匹配多个单词
- 匹配任何英文字符
我已经尝试了以下两个正则表达式:
[a-zA-Z\\s{2,]]*|[a-zA-Z{2,}]
和
[a-zA-Z\\s]*|[a-zA-Z].{2,}
但他们不工作。任何人都可以帮助我理解如何编写这个正则表达式?
答
合并限制:仅限于英文字符(不知道这是你想要什么,但希望它就够了)
由至少1长度的字符串匹配2+字符序列:
regex = "^(?:\s*[a-zA-Z]{2,}\s*)+$"
“^”:必须以
开始 “(?:...)”:组,但不捕获
“\ S”:空白
“*”:0以上
“[... ]“:字符类别
“[a-zA-Z]”:将字符限制为低/大写a,b,...,y,z
“{2,”:2个或更多进程
“+”:1或更多
“$”:必须在这里结束
你能举出一些你想匹配的字符串的例子吗?从你的描述来看,听起来像是'a'不应该匹配,但是'ab'和'ab ab'会。我是否正确理解你的目标? – WilHall
是的,你理解正确。 – MrBoolean