1.
表3.常用的反义代码代码/语法说明 \W 匹配任意不是字母,数字,下划线,汉字的字符 \S 匹配任意不是空白符的字符 \D 匹配任意非数字的字符 \B 匹配不是单词开头或结束的位置 [^x] 匹配除了x以外的任意字符 [^aeiou] 匹配除了aeiou这几个字母以外的任意字符
代码 | 说明 |
---|---|
. | 匹配除换行符以外的任意字符 |
\w | 匹配字母或数字或下划线或汉字 |
\s | 匹配任意的空白符 |
\d | 匹配数字 |
\b | 匹配单词的开始或结束 |
^ | 匹配字符串的开始 |
$ | 匹配字符串的结束 |
代码/语法 | 说明 |
---|---|
* | 重复零次或更多次 |
+ | 重复一次或更多次 |
? | 重复零次或一次 |
{n} | 重复n次 |
{n,} | 重复n次或更多次 |
{n,m} | 重复n到m次 |
表3.常用的反义代码代码/语法说明 \W 匹配任意不是字母,数字,下划线,汉字的字符 \S 匹配任意不是空白符的字符 \D 匹配任意非数字的字符 \B 匹配不是单词开头或结束的位置 [^x] 匹配除了x以外的任意字符 [^aeiou] 匹配除了aeiou这几个字母以外的任意字符
这是一些正则表达式的基础。
下面来谈一下java里的正则表达式。
Pattern Mather
Pattern 用来判断 某个字符串,是否符合某个给定的正则表达式
Pattern的构造方法被私有了所以我们不能调用他的构造方法来,创建一个Pattern对象
public static Pattern compile(String regex) {
return new Pattern(regex, 0);
}
String regex="^d";
Pattern p =Pattern.compile(regex);
String regex="t(o|oo|ooo)n";
System.out.println("ton".matches(regex));
System.out.println("toon".matches(regex));
System.out.println("tooon".matches(regex));
如何或得一个字符串里符合指定正则表达式的所有子字符串呢。
public static List<String> getRegEx(String orginal,String regex) { List<String> result=new ArrayList<String>(); int start=0; int end=0; Pattern pp=Pattern.compile(regex); Matcher m = pp.matcher(orginal); while( m.find()) { start=m.start(); end=m.end(); result.add(orginal.substring(start, end)); } return result; }