为Scanner方法编写模式

时间:2013-09-10 10:11:57

标签: java regex java.util.scanner

如何为扫描仪方法编写模式,例如:

scan.findInLine(pattern);

那将找到该行中任何数字的第一个实例(即任意数字0-10000)。我需要这个来搜索那个数字,以便创建一个这样大小的数组。

我不确定这是否需要正则表达式但是如果确实如此,请你能简单地向我解释一下,因为我对这个想法很新。

某些模式的示例及其搜索内容的解释非常有用。

2 个答案:

答案 0 :(得分:2)

这是一个简单的示例:

Scanner scan = new Scanner("ab0252c4d67");
String i = scan.findInLine("\\d+");
System.out.println(Integer.parseInt(i));

,它为您提供该行中的第一个数字。 \ d搜索数字,+表示数字出现1次或更多次。

答案 1 :(得分:1)

正则表达式(10000|\d{1,4})会找到您要查找的数字,它实际上可以归结为10000或0-9999

scan.findInLine("(10000|\\d{1,4})");