【项目实训】Pattern类的使用

  • Post author:
  • Post category:其他




Pattern用法

Java正则表达式通过java.util.regex包下的Pattern和Matcher类实现

Pattern类用于创建一个正则表达式,也可以说是创建一个匹配模式,可以通过两个静态方法创建:compile(String regex)和compile(String regex,int flags),其中regex是正则表达式,flags为可选模式(如:Pattern.CASE_INSENSITIVE 忽略大小写)

实例:

Pattern pattern = Pattern.compile("Java");
// 返回此模式的正则表达式即Java
System.out.println(pattern.pattern());

Pattern类还有两个根据匹配模式拆分输入序列的方法:split(CharSequence input) 和split(CharSequence input, int limit),其中limit为返回元素的个数。

实例:

Pattern pattern = Pattern.compile("Java");
String test="123Java456Java789Java";
String[] result = pattern.split(test);
for(String s : result)
System.out.println(s);

结果:

123
456
789

再细说一下split(CharSequence input, int limit),当limit值大于所能返回的字符串的最多个数或者为负数,返回的字符串个数将不受限制,但结尾可能包含空串,而当limit=0时与split(CharSequence input)等价,但结尾的空串会被丢弃。

Pattern pattern = Pattern.compile("Java");
String test = "123Java456Java789Java";

String[] result = pattern.split(test,2);
for(String s : result)
System.out.println(s);

result = pattern.split(test,10);
System.out.println(result.length);

result = pattern.split(test,-2);
System.out.println(result.length);

result = pattern.split(test,0);
System.out.println(result.length);

运行结果:

123
456Java789Java
4
4
3

Pattern类也自带一个静态匹配方法matches(String regex, CharSequence input),但只能进行全字符串匹配并且只能返回是否匹配上的boolean值

实例:

String test1 = "Java";
String test2 = "Java123456";

System.out.println(Pattern.matches("Java",test1));//返回true
System.out.println(Pattern.matches("Java",test2));//返回false



版权声明:本文为qq_43500002原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。