正则表达式在字符串中查找整数

msc*_*ccc 20 java regex integer

我想在Java中使用正则表达式.

我想要做的是找到字符串中的第一个整数.

例:

String = "the 14 dogs ate 12 bones"
Run Code Online (Sandbox Code Playgroud)

将返回14.

String = "djakld;asjl14ajdka;sdj"
Run Code Online (Sandbox Code Playgroud)

也将返回14.

这就是我到目前为止所拥有的.

Pattern intsOnly = Pattern.compile("\\d*");
Matcher makeMatch = intsOnly.matcher("dadsad14 dssaf jfdkasl;fj");
makeMatch.find();
String inputInt = makeMatch.group();
System.out.println(inputInt);
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

小智 50

你要求0位或更多位数.你需要要求1个或更多:

"\\d+"
Run Code Online (Sandbox Code Playgroud)