正则表达式基础
发布时间:2020-12-13 19:35:21 所属栏目:百科 来源:网络整理
导读:什么是正则表达式? 其实就是一些匹配字符的式子而已, 不过这个式子不只是ctrl + F 的完全匹配, 而是异常的灵活, 在各种奇葩要求的字符查找要求上很有价值 正则表达式是分普通字符和元字符的, 就好像一般语言中分普通字符和转移字符一样; 普通字符 其实
什么是正则表达式?其实就是一些匹配字符的式子而已, 不过这个式子不只是ctrl + F 的完全匹配, 而是异常的灵活, 在各种奇葩要求的字符查找要求上很有价值正则表达式是分普通字符和元字符的, 就好像一般语言中分普通字符和转移字符一样; 普通字符
其实就是一般的字符, 比如‘a','b',’我'
元字符元字符就像转移字符一样不能直接匹配, 他们代表的是一些特殊的东西, 也是这些字符构成了正则表达式的框架(要是每个字符都用来匹配怎么能成多功能的表达式) 这些都是元字符 . ^ $ * +? { [ ] | ( ) 注意, 这些字符中是没有双引号和单引号的
现在我们一个一个开始讲上面的字符:
字符类别 []
这个就是 [] 里面的字符是一个字符集, 只要满足其中任意一个都可以,
我最想强调的是 写在这里面的任意字符都是当做普通字符处理, 即使[] 里面有元字符也是当普通字符处理的, 这个必须注意,
不过更值得注意的元字符 ^
, 这个字符很特殊, 如果将 ^ 作为[] 里面的第一个字符, 那么他是当做元字符用的, 就是非的意思, 也就是补集的意思;
反斜杠
最重要的元字符, 在某些语言中作为转移字符而用, 在这里是作为普通字符和元字符的通道, 当然还有别的作用
当想匹配元字符的时候就在元字符前面加上反斜杠就可以取消了, 当然还有如下作用
d 匹配任何十进制数;它相当于类 [0-9]。 D 匹配任何非数字字符;它相当于类 [^0-9]。 s 匹配任何空白字符;它相当于类 [ tnrfv]。 S 匹配任何非空白字符;它相当于类 [^ tnrfv]。 w 匹配任何字母数字字符;它相当于类 [a-zA-Z0-9_]。 W 匹配任何非字母数字字符;它相当于类 [^a-zA-Z0-9_]。 重复字符
当我想匹配多个一样的字符或者一样的字符集的时候我就可以用重复的作用了
重复字符有如下几种
? 匹配0次或一次
|