Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';无法获得第一场比赛(这与团队无关)_Java_Regex - Fatal编程技术网

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*