Java Can';无法获得第一场比赛(这与团队无关)
我需要为字符串Java Can';无法获得第一场比赛(这与团队无关),java,regex,Java,Regex,我需要为字符串“Abcd 23 p.421 fd”获取此匹配项“Abcd”。我编写了模式“^(.*)\s+\d”,但它返回与最后一个数字匹配的项,如“Abcd 23 p.42”。如何获得第一个数字匹配? 另外,我读过解决方案,但不明白。如何使用|子表达式使模式非贪婪。尝试在正则表达式中使用\D-非数字,而不是: ^(\D*)\s+\d 编辑:由于您只需要第一个单词(无数字和空格),因此可以使用以下较短的正则表达式: ^\w* 它返回“Abcd 2”,它应该返回什么?就像我说的那样,只返回“A
“Abcd 23 p.421 fd”获取此匹配项“Abcd”
。
我编写了模式“^(.*)\s+\d”
,但它返回与最后一个数字匹配的项,如“Abcd 23 p.42”
。如何获得第一个数字匹配?另外,我读过解决方案,但不明白。如何使用
|
子表达式使模式非贪婪。尝试在正则表达式中使用\D
-非数字,而不是
:
^(\D*)\s+\d
编辑:由于您只需要第一个单词(无数字和空格),因此可以使用以下较短的正则表达式:
^\w*
它返回
“Abcd 2”
,它应该返回什么?就像我说的那样,只返回“Abcd”
。然后你问“如何获得第一个数字匹配?”。如果您不需要数字,则删除\d
-它将数字包含在结果中,如果您只想获取第一个单词(无数字,无空格),则正则表达式非常简单,如^\w*