PHP
正则表达式核心技术完全详解 第2节
接上一节内容
1
普通字符作为原子
/5/ 用于匹配字符串中是否有5这个字符出现
/php/ 用于匹配字符串中是否有PHP字符串出现
/ / 匹配空字符串
2
一些特殊字符和量词作为原子
\.、\*、\+、\?、 \(、 \、\/、用有意义的字符作为原子来使用,必须使用 ”\“转义字符转义 " \ " 转义字符可以将有意的字符转成没意义的字符
所以任何一个符号都可以作为原子使用,但如果这个符号在正则表达式中有一些特殊意义,我们就必须使用转义字符“\”取消它的特殊意义,将其变成一个普通的原子。
例1
所有标点符号以及一些其他符号,双引号””、单引号' 、“*”、“+”、“.”等,如果当原子就必须像\”、\’、\+ 和 \. 这样使用。
. 在正则中表示任意一个字符, [包括 . 在内] 那么只匹配一个字符 如果作为原子来光匹配 . 的话 就要转义 。
例2
‘/\./’ 用于匹配字符串中是否有英文的“.”出现
'/\
/’用于匹配字符串中是否有HTML的
标记字符串出现。
转义字符: 如果你要使用正则表达式中的一些特殊符号来作为原子进行匹配 就必须转义。
例3
\ 、 \. 、\/、 \\、\[ 、\]、 等等...
注意
匹配与特殊字符同名的普通字符,需要在前面加 \,把特殊字符转义为普通字符。
正则表达式中 使用特殊字符例如 正斜杠/ 、问号? 都是需要使用\来转义的 。
例如: $ptn='/http:\/\//'; 匹配: http://
写正则表达式的时候最好是使用单引号进行书写!
3
元字符
在正则表达式中可以直接使用一些 [元字符] 代表范围的原子。
意思就是还有一些英文字母加上了 ‘\’ 反斜杠后、可以将没意义的英文字母转为有意义的[元字符]。
例4
\d : 表示任意一个十进制的数字,等同于: [0-9]\D : 表示任意一个除数字这外的字符,等同于: 0-9。
\s : 表示任意一个空白字符,空格、\n\r\t\f,等同于: [\n\r\t\f]。
\S : 表示任意一个非空白 ,等同于: \n\r\t\f
\w : 表示任意一个字 a-z、A-Z、0-9 _ ,等同于: [a-zA-Z0-9]。
\W : 表示任意一个非字, 除了a-zA-Z0-9以外的任意一个字符。
所以 \W 等同于: a-zA-Z0-9_ 意思就是非字母 数字 下划线 以外的任意一个字符。
4
原子表
自定义一个原子表[], 可以匹配方括号中的任何一个原子字符。
例5
[a-z5-8] 表示任意一个在a-z5-8之间范围的原子。
[^a-z] 表示取反, 就是除了原子表中的原子,其余都可以表示。
注意
^必须在[]内的第一个字符处出现 。
[ ] 它里面的任意一个字符。
[^abc] 它里面除了abc的任意一个字符。
关于正则表达式的第2节就先分享到这里,以后会进一步更新,下期继续..
"点赞""评论""收藏"
大家的支持就是我坚持下去的动力!
如果以上内容有任何错误或者不准确的地方,
欢迎在下面 留个言指出、或者你有更好的想法,
欢迎一起交流学习
关注:极客小俊公众号 不定期分享技术干货
微信技术交流群关注群主邀请进群