Java如何编写字符类交集正则表达式?
您可以使用&&运算符来组合定义一组字符的类。它只会匹配两个类的通用字符(交集)。
package org.nhooo.example.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CharacterClassIntersectionDemo {
public static void main(String[] args) {
//定义正则表达式将搜索从“a”到“z”的字符
//并且是'c'或'a'或't'字符。
String regex = "[a-z&&[cat]]";
//将给定的正则表达式编译为模式。
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(
"The quick brown fox jumps over the lazy dog");
//查找每个匹配并打印
while (matcher.find()) {
System.out.format("Text \"%s\" found at %d to %d.%n",
matcher.group(), matcher.start(), matcher.end());
}
}
}该程序将显示以下结果:
Text "c" found at 7 to 8. Text "t" found at 31 to 32. Text "a" found at 36 to 37.