正则表达式
正则表达式常用于在给定的字符串中查询、提取、替换指定的特征值。
元字符:
元字符可以用于匹配一些特殊规则。
. \ [ ] { } ? * + | ( ) ^ $
1、.
.可以匹配任意一个字符,但是不能用于匹配换行符。
例:x.o,
代表匹配“以x开头,之后是一个任意字符,紧跟着是字母o”的字符串。
x.o这样的正则表达式,可以匹配xxo、xoo、x.o这样的表达式,但是无法匹配xo、xoto这样的字符串。
2、字符类
1、字符类是一组在[]方括号内的字符,表示可以匹配其中的任何一个字符。
- 正则表达式c[aeiou]t,表示可以匹配的字符串是”以c开头,接着是aeiou中的任何一个字符,最后以t结尾”。这样的正则表达式可以匹配:cat,cet,cit,cot,cut五种字符串。
- 正则表达式[0123456789]表示匹配任意一个整数。
- 正则表达式[a]表示匹配单字符a。
- [[]\ab]表示匹配的字符为”["或者'']”或者”a”,或者”b”
- [\[]]表示匹配的字符为”\”或者 “[”或者"]“
2、字符类中,字符的重复和出现顺序不重要
- [daddbbddcc]与[abcd]是相同的
3、字符类中和字符类外的规则有时不同,一些字符在字符类中是元字符,在字符类外是普通字符。一些字符正好相反。还有一些字符在字符类中和字符类外都是元字符,这要视情况而定!
- .表示匹配任意一个字符,而[.]表示匹配一个全角句号。这不是一回事!
4、在字符集中,可以使用短横线-来表示匹配字母、数字的范围;在字符集外,短横线-没有特殊含义。
- [b-f]与[b,c,d,e,f]相同,都是匹配一个字符”b”或”c”或”d”或”e”或”f”
- [A-Z]与[ABCDEFGHIJKLMNOPQRSTUVWXYZ]相同,都是匹配任意一个大写字母。
- [1-9]与[123456789]相同,都是匹配任意一个非零数字。
- [0-9.,]表明匹配一个数字,或者一个全角句号,或者一个逗号
- [0-9a-fA-F]意味着匹配一个十六进制数
- [a-zA-Z0-9-]意味着匹配一个字母、数字或者一个短横线

浙公网安备 33010602011771号