正则表达式也是一种语言,在解析字符串领域独领风骚。
本文分享关于正则表达式中两个最常用的关键字.和*的用法
前期准备工作(包括相关工具或所使用的原料等)JavaRegular expressions 详细的操作方法或具体步骤
正则表达式也是一门语言。
在学习下这门语言的语法之前,先来看看测试的脚手架代码:
Code:
package chapter4;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* Created by MyWorld on 2016/3/23.
*/
public class RegexStudyDemo {
public static void main(String[] args) {
String regexStr="Hello.*!";
List
System.out.println(isMatch(input, regexStr));
} private static boolean isMatch(List
boolean result=true;
for (String input : inputs) {
Pattern pattern=Pattern.compile(regexStr);
Matcher matcher=pattern.matcher(input);
if (matcher.matches()) {
continue;
}
System.out.println(input + " is not match!");
result=false;
}
return result;
}
}


执行下看看结果:
true
为了方便大家理解,我简单介绍下上面用到的API:
Pattern pattern=Pattern.compile(regexStr);//解析输入的正则表达式
Matcher matcher=pattern.matcher(input);//让正则表达式与待匹配字符串发生联系
if (matcher.matches()) {//matches()方法返回的是boolean的值。true表示匹配
continue;
}

来分析下上例中用到的正则表达式中的关键字(也有人叫元组metacharacter)
:
.(英文句点):匹配除了换行符以外的任意字符
*:表示紧挨的前面的字符连续重复零次或更多次以使整个表达式得到匹配
*代表的不是字符,也不是位置,而是数量。
扩展:
.*连在一起就表示会匹配任意多的不包括换行的字符
我们来改下代码,在Hello和!之间增加一个换行符,看看能不能匹配成功
Code:
List

看看执行结果
果然返回false
Output:
Hello
line feed ! is not match!
false

汉字比较特殊,换个汉字行不行呢?
更改代码:
Code:
List

看看执行结果是否是true
果然是
OK
正则表达式的这两个关键字就介绍完了

- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
