qc正则表达式的语法与使用.Java
程序员文章站
2022-06-24 12:30:59
目录正则表达式的语法正则表达式的使用正则表达式的语法在其他语言中,\\ 表示:我想要在正则表达式中插入一个普通的(字面上的)反斜杠,请不要给它任何特殊的意义。在 Java 中,\\ 表示:我要插入一个正则表达式的反斜线,所以其后的字符具有特殊的意义。所以,在其他的语言中(如Perl),一个反斜杠 \ 就足以具有转义的作用,而在 Java中正则表达式中则需要有两个反斜杠才能被解析为其他语言中的转义作用。也可以简单的理解在 Java 的正则表达式中,两个 \\ 代表其他语言中的一个 \,这也就是为什么...
正则表达式的语法
在其他语言中,\\ 表示:我想要在正则表达式中插入一个普通的(字面上的)反斜杠,请不要给它任何特殊的意义。
在 Java 中,\\ 表示:我要插入一个正则表达式的反斜线,所以其后的字符具有特殊的意义。
所以,在其他的语言中(如Perl),一个反斜杠 \ 就足以具有转义的作用,而在 Java中正则表达式中则需要有两个反斜杠才能被解析为其他语言中的转义作用。也可以简单的理解在 Java 的正则表达式中,两个 \\ 代表其他语言中的一个 \,这也就是为什么表示一位数字的正则表达式是 \\d,而表示一个普通的反斜杠是 \\\\。
正则表达式的使用
(可以搭配replaceALL()方法进行替换,搭配split()方法进行分解)
使用split()方法如下:
public class test1 {
public static void main(String[] args) {
String str = "公元1949年10月1日是*成立的日子";
String regex = "\\D+"; //作为分隔标记分解str字符序列中的单词
String digitWord[] = str.split(regex);
for(String s:digitWord) System.out.print(s+", ");
}
}
注意: split()方法认为分割标记的左侧应该是单词,因此如果和当前String对象的字符序列的前缀和regex匹配,那么split(String regex)方法分解出的第一个单词是不含任何字符的字符序列(长度为0的字符序列),即""。 所以上面代码的运行结果长度为4,而不是3。
本文地址:https://blog.csdn.net/M_Chico/article/details/110818410