直接利用matches方法简化正则表达式匹配的方法
//校验十进制整数
import java.util.Scanner;
public class ValidateInputInt
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
String str = "";
boolean isValid = false;
while (!isValid)
{
System.out.print("请输入一个十进制整数:");
str = sc.next();
isValid = str.matches("[\\+\\-]?[0-9]+");
}
System.out.print("你输入的十进制整数为:" + str);
}
}
replaceAll的用法
/**
利用正则表达式替换每行前的行号加小圆点
在命令行下: java RegexReplace < test.txt > test1.txt
1.abc111.cde
2.ads123.fsdd
3.sdf1122121.sfsdf
4.sd32322.fsf
5.sdf23232.sd
10.ds11134235.fs
11.xcc9992.cc
12.c22332.cc
123.cccfs232301.dsfs
*/
import java.util.Scanner;
public class RegexReplace
{
public static void main(String[] args)
{
String str = "";
Scanner sc = new Scanner(System.in);
//Scanner中的hasNextLine()方法,判断是否有下一行,如果有返回真。
while (sc.hasNextLine())
{
//nextLine()方法返回的是输入回车之前的所有字符,使用时与hasNextLine相结合,这里返回第一行字符
str = sc.nextLine();
//验证一下nextLine()后读进来的是什么,发现就是一行一行读的。
System.out.println(str);
//将行号和小圆点替换成空
System.out.println(str.replaceAll("^[0-9]+\\.",""));
}
}
}