Java如何编写否定字符类正则表达式?
否定类是从^元字符开始的字符类,该元字符将排除在方括号内的一组已定义字符。例如,以下示例中的否定类h[^ao]t仅匹配单词,hit而排除单词hat和hot。
package org.nhooo.example.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CharacterClassesNegationClassDemo {
public static void main(String[] args) {
//定义一个正则表达式,它将搜索所有
//以“h”开头和以“t”结尾的字符串序列
//并有一个中间字母,但出现在中间的字母除外
//方括号内^字符的右边
//(“a”和“o”)
String regex = "h[^ao]t";
//编译模式并获得匹配对象。
Pattern pattern = Pattern.compile(regex);
Matcher matcher =
pattern.matcher("Wow, that hot hat will make a hit");
//找到所有匹配项并打印出来。
while (matcher.find()) {
System.out.format("Text \"%s\" found at %d to %d.%n",
matcher.group(), matcher.start(), matcher.end());
}
}
}程序输出以下结果:
Text "hit" found at 30 to 33.
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西