Java 正则表达式元字符

Java 正则表达式元字符

        Java正则表达式教程 -  Java正则表达式元字符                元字符是在Java正则表达式中具有特殊含义的字符。        Java中的正则表达式支持的元字符如下:( ) [ ] { } \ ^ $ | ? * + . < > - = !        字符类        元字符 [和] 指定正则表达式中的字符类。        字符类是一组字符。正则表达式引擎将尝试匹配集合中的一个字符。        字符类“[ABC]"将匹配字符A,B或C.例如,字符串“woman"或“women"将匹配正则表达式“wom [ae] n"。        我们可以使用字符类指定一个字符范围。        范围使用连字符  -  字符表示。        例如, [A-Z] 表示任何大写英文字母;“[0-9]"表示0和9之间的任何数字。         ^ 表示不是。        例如, [^ ABC] 表示除A,B和C以外的任何字符。        字符类 [^ A-Z] 表示除大写字母之外的任何字符。        如果 ^ 出现在字符类中,除了开头,它只匹配一个 ^ 字符。        例如,“[ABC ^]"将匹配A,B,C或^。        您还可以在一个字符类中包含两个或多个范围。例如, [a-zA-Z] 匹配任何字符a到z和A到Z.         [a-zA-Z0-9] 匹配任何字符a到z(大写和小写)和任何数字0到9。        下表列出了字符类的示例字符a到z                                                        字符类                    含义                                                    [abc]                    字符a,b或c                                                    [^xyz]                    除x,y和z以外的字符                                                    [a-z]                                                                         [a-cx-z]                    字符a到c或x到z,其将包括a,b,c,x,y或z。                                                    [0-9&&[4-8]]                    两个范围(4,5,6,7或8)的交叉,                                                    [a-z&&[^aeiou]]                    所有小写字母减元音                                                                                                                                                                                                预定义字符类        下表列出了一些常用的预定义字符类。预定义        字符        类                                                                             含义                                                    .                    任何字符                                                    \d                    数字。 与[0-9]相同                                                    \D                    非数字。 与[^ 0-9]相同                                                    \s                    空格字符。 包括与[\\ t \\ n \\ x0B \\ f \\ r]相同。                                                空格                        标签                        换行符                        垂直标签                        表单Feed                        回车字符                                                    \S                    非空白字符。 与[^ \\ s]相同                                                    \w                    一个字符。 与[a-zA-Z_0-9]相同。                                                    \W                    非字字符。 与[^ \ w]相同。                                                    例子        以下代码使用 \d 匹配所有数字。         \\d 在字符串中用于转义 \ 。import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class Main {

public static void main(String args[]) {

Pattern p = Pattern.compile("Java \d");

String candidate = "Java 4";

Matcher m = p.matcher(candidate);

if (m != null)      

System.out.println(m.find());

}

} 上面的代码生成以下结果。 例2 以下代码 \w+ 匹配任何单词。 双斜杠用于转义 \ 。import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class Main {

public static void main(String args[]) {

String regex = "\w+";

Pattern pattern = Pattern.compile(regex);

String candidate = "asdf Java2s.com";    

Matcher matcher = pattern.matcher(candidate);

if (matcher.find()) {

System.out.println("GROUP 0:" + matcher.group(0));

}

}

} 上面的代码生成以下结果。