我有一系列字符串,例如:
HH,123你好我的名字是John 123
我正在使用以下正则表达式来表达“我的名字是John'”,
"\\s[A-Za-z]+"
然后我使用以下内容检查正则表达式是否与我想要的短语匹配:
while(m.find()) {
System.out.println(m.group());
}
我的问题是为什么结果会打印出以下内容:
Hello
My
Name
Is
John
而不是'你好我的名字是约翰'。
答案 0 :(得分:0)
您的正则表达式不正确。它只匹配space
然后匹配任意数量的大写和小写字母,您需要它在末尾再捕获一个空格。如果你没有添加额外的空间搜索,那么每个组都将是:“你好”“我的”“名字”等。
试试这个:
String regex = "\\s[A-Za-z\\s]+"
正如评论中所指出的,这个简单的正则表达式将包括领先的空间和尾随空间。使用.trim()
您可以测试正则表达式here