有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法获得第一个匹配项(与组无关)

我需要为字符串"Abcd 23 p. 421 fd."获取匹配"Abcd"。我编写了模式"^(.*)\s+\d",但它返回与最后一个数字匹配的结果,如"Abcd 23 p. 42"。如何获得第一个数字匹配
另外,我读了this解,但不明白。如何使用|子表达式使模式非贪婪


共 (1) 个答案

  1. # 1 楼答案

    尝试在正则表达式中使用\D非数字而不是.

    ^(\D*)\s+\d
    

    编辑:因为您只需要第一个单词(不需要数字和空格),所以可以使用以下较短的正则表达式:

    ^\w*