纠正一个错误,昨天我用了Match这个只能匹配出第一个 用Matches可以匹配出所有符合正则表达式的字符
4.字符类的反义
- [^a]表示匹配任何不是“a”的字符
- [^a-zA-Z0-9]表示匹配任何不是字母也不是数字的字符
- [\^abc]匹配一个为“^”或者a或者b或者c的字符
- [^\^]表示匹配任何不为“^”的字符
5.转义字符类
如何有效的缩短正则表达式的长度?
- \d = [0-9] 作用相同,都是匹配任何一个数字。(要匹配\d,应该使用正则表达式\\d)
- \D = [^0-9] 作用相同,表示匹配一个非数字字符。
- \w = [0-9A-Za-z] 作用相同,都表示匹配一个数字或字母字符
- \W = [^0-9A-Za-z] 作用相同,表示匹配一个非数字同时不是字母的字符。
- \s意味着匹配一个空字符(空格,制表符,回车或者换行)
- \S表示匹配一个非空字符。
6.重复
在字符或字符集之后,你可以使用{ }大括号来表示重复
- 正则表达式a{1}与a意思相同,都表示匹配字母a
- a{3}表示匹配字符串“aaa”
- a{0}表示匹配空字符串。从这个正则表达式本身来看,它毫无意义。如果你对任何文本执行这样的正则表达式,你可以定位到搜索的起始位置,即使文本为空。
- a\{2\}表示匹配字符串“a{2}”
- 在字符类中,大括号没有特殊含义。[{}]表示匹配一个左边的大括号,或者一个右边的大括号
示例
z.......z =
z.{7}z
\d\d\d\d-\d\d-\d\d =
\d{4}-\d{2}-\d{2}
[aeiou][aeiou][aeiou][aeiou][aeiou][aeiou] =
[aeiou]{6}
注意:重复字符是没有记忆性的,比如[abc]{2}表示先匹配”a或者b或者c”,再匹配”a或者b或者c”,与匹配”aa或者ab或者ac或者ba或者bb或者bc或者ca或者cb或者cc“一样。[abc]{2}并不能表示匹配”aa或者bb或者cc“
时间: 2024-08-06 09:08:18