java中的转义字符
1.特殊字符
\" \' \\
2.控制字符
\n换行 \r回车 \t制表符 \b退格 \f走纸换页
3.八进制转义字符
\0:空字符 \000~\377
4.Unicode转义字符
如果想要输入正则表达式字段,需考虑到转义之后字符串的样子。
正则表达式中的特殊字符,在正则表达式中有特殊的意义,所以如果想要表达本身的含义,需要在前面加上 \
. [任何字符]
\d[0-9] \D
\s[所有空白字符] \S
\w[0-9a-zA-Z_] \W
正则表达式中的表达式:
^ 否 [^abc]
&& 与 [abc&&[d-g]]
并 [a-d[m-p]] 或者[a-dm-p]
^ 行开头
$ 行结尾
\b 单词边界
\B 非单词边界
\A 输入的开头
\G 前一个匹配的结尾
\z 输入的结尾
\Z 输入的结尾,仅用于最后的结束符
* 任意个
? 一个或零个
+ 一个或多个
默认贪婪模式
? 勉强模式
+ 占有模式
1.特殊字符
\" \' \\
2.控制字符
\n换行 \r回车 \t制表符 \b退格 \f走纸换页
3.八进制转义字符
\0:空字符 \000~\377
4.Unicode转义字符
\u0000:空字符 \u****
java程序在编译前,会将所有的认为使转义字符的内容先转换为他们所表示的字符,再进行编译。
如果想要输入正则表达式字段,需考虑到转义之后字符串的样子。
正则表达式中的特殊字符,在正则表达式中有特殊的意义,所以如果想要表达本身的含义,需要在前面加上 \
& ^ () [] {} * + ? . \ |
. [任何字符]
\d[0-9] \D
\s[所有空白字符] \S
\w[0-9a-zA-Z_] \W
正则表达式也支持解析字符串内容,所以,当在java中输入 "\\u0041" 时,被java转义为 \u0041 。正则表达式可以识别unicode。
例如:boolean b = Pattern.matches("\\u0032", "\u0032");
前面为正则表达式,被编译为\u0032,后者转义之后是2,我以为应该返回false,但是还是返回true。
正则表达式中的表达式:
^ 否 [^abc]
&& 与 [abc&&[d-g]]
并 [a-d[m-p]] 或者[a-dm-p]
^ 行开头
$ 行结尾
\b 单词边界
\B 非单词边界
\A 输入的开头
\G 前一个匹配的结尾
\z 输入的结尾
\Z 输入的结尾,仅用于最后的结束符
* 任意个
? 一个或零个
+ 一个或多个
默认贪婪模式
? 勉强模式
+ 占有模式