正则表达式匹配至少包含字符和更多的单词

问题描述:

我是编程Java和使用正则表达式的新手。正则表达式匹配至少包含字符和更多的单词

我想了解更多关于正则表达式的知识,并且我有以下问题。

我想创建一个正则表达式将:

  • 比赛至少2个字符
  • 匹配多个单词
  • 匹配任何英文字符

我已经尝试了以下两个正则表达式:

[a-zA-Z\\s{2,]]*|[a-zA-Z{2,}] 

[a-zA-Z\\s]*|[a-zA-Z].{2,} 

但他们不工作。任何人都可以帮助我理解如何编写这个正则表达式?

+0

你能举出一些你想匹配的字符串的例子吗?从你的描述来看,听起来像是'a'不应该匹配,但是'ab'和'ab ab'会。我是否正确理解你的目标? – WilHall

+0

是的,你理解正确。 – MrBoolean

合并限制:仅限于英文字符(不知道这是你想要什么,但希望它就够了)
由至少1长度的字符串匹配2+字符序列:

regex = "^(?:\s*[a-zA-Z]{2,}\s*)+$" 

“^”:必须以
开始 “(?:...)”:组,但不捕获
“\ S”:空白
“*”:0以上
“[... ]“:字符类别
“[a-zA-Z]”:将字符限制为低/大写a,b,...,y,z
“{2,”:2个或更多进程
“+”:1或更多
“$”:必须在这里结束