1> java中特殊字符的处理
表达式中存在一些字符是具有特殊含义的,因此需要添加"“来进行修饰,这样才能够正确的进行匹配,其中还有一个最特殊的是,如果是”“字符,那么需要”\\"来表示。
下面是一些特殊字符
字符 | 含义 |
---|---|
^ | 输入字符串的起始位置 |
$ | 输入字符串的结尾位置 |
( ) | 表示的是子表达式的起始位置终止位置 |
[ ] | 表示的自定义匹配一些字符串 |
{ } | 修饰字符 来修饰字符匹配的次数 |
. | 表示任意字符 |
? | 表示匹配0次或者1次 |
+ | 表示匹配1次或多次 |
* | 表示匹配0次或多次 |
| | 表示或的关系 |
比如,最近遇到的问题中出现 字符 (,那么就需要写成 ( 。
2>对于java中的普通字符,直接写出来,就可以进行正则表达式的匹配。
3>能够与多种字符进行匹配的表达式
\d 表示任意的一个0-9中的数字
\D 表示非0-9中的数字
\w 表示字母数字或者是下划线,A-Za-z0- 9_ 注意还有这个下划线字符。
\w 表示非A-Za-z0-9_的数字
. 表示任意的字符串
\s 表示空格,制表符,或者换页符中的任何其中一个
4>自定义的多种字符的表达式的匹配
[ ] 其中可以添加任意的字符,这样很灵活,good。
在[ ]中的^,是不同于直接出现的 ^.
直接出现在表达式中的^,表示是这是一个匹配的起始位置。
而在[ ]中出现的^,表示的是非,比如[ ^ abc]表示的是除了abc的字符。
[abc]表示的是在abc中的一个字符。
5>修饰字符,用于修饰出现次数
{n}表示其前面出现的字符,出现了n次。
{m.n}表示前面的这个字符,出现了至少m次,最多出现了n次。
{m,}表示表达式出现至少m次。
? 这也是修饰出现次数的修饰符,表示出现了0次或者1次。
+ 表示出现了至少1次
* 表示出现了0次或者多次
6>一些特殊的字符
^ 表示字符串开始匹配的位置
$ 表示字符串结束匹配的位置
\b 表示将会去匹配两个字符之间的位置。