现在的位置: 首页学习笔记>正文
PHP正则表达式的元字符
发表于6年前 学习笔记 评论数 3

刚才学了的是正则表达式的量词,

现在我继续来学元字符.

 

PHP元字符

 

 

  1. //[a-z] 这个就是匹配任何a到z的字符.   
  2.   
  3. $gz='/[a-z]/';   
  4. $string='ss';   
  5.   
  6. //还是用个循环来练习,比较容易看.   
  7. if(preg_match($gz,$string))   
  8. {   
  9. echo '匹配';   
  10. }else  
  11. {   
  12. echo '不匹配';   
  13. }   
  14. //这个不用说就是匹配的额.   
  15. //如果$string='123';或者是特殊符号 就是不匹配的了.   
  16.   
  17. //[A-Z]这是个大写的字母 也是26个字母的字符。.   
  18.   
  19. //[0-9]这个是0到9的数字.   
  20.   
  21. $sz='/[0-9]/';   
  22. $zs='a';   
  23. echo '   
  24. ';   
  25.   
  26. if(preg_match($sz,$zs))   
  27. {   
  28. echo '匹配';   
  29. }else  
  30. {   
  31. echo '不匹配';   
  32. }   
  33. //这个肯定是不匹配,   
  34.   
  35. //$zs='123' 这个才匹配.   
  36.   
  37. //[abc] 匹配任何包含a,b,c的字符串   
  38. $sz='/[abc]/';   
  39. $zs='sa32423423';   
  40. echo '   
  41. ';   
  42.   
  43. if(preg_match($sz,$zs))   
  44. {   
  45. echo '匹配';   
  46. }else  
  47. {   
  48. echo '不匹配';   
  49. }   
  50.   
  51. //这个匹配.   
  52. //[^abc]和[abc]相反,匹配任何不包含a,b,c的字母应该很好理解了吧.   
  53.   
  54. //[a-zA-Z0-9_]这个就是匹配26个大小写字母和0到9的数字和下划线的规则.   
  55.   
  56. $sz1='/[a-zA-Z0-9_]/';   
  57. $zs1='sa32423423';   
  58. echo '   
  59. ';   
  60.   
  61. if(preg_match($sz1,$zs1))   
  62. {   
  63. echo '匹配';   
  64. }else  
  65. {   
  66. echo '不匹配';   
  67. }   
  68.   
  69. //这个很多都可以匹配,但是$sz1=#¥%……&这个个特殊字符就没用了.   
  70.   
  71. //基础的弄懂了,就来学习简洁的方式.   
  72.   
  73. //\w这个就等于[a-zA-Z0-9_] 注意这个\不要敲成/了.   
  74.   
  75. $sz2='/\w/';   
  76. $zs2='sa32423423';   
  77. echo '   
  78. ';   
  79.   
  80. if(preg_match($sz2,$zs2))   
  81. {   
  82. echo '匹配';   
  83. }else  
  84. {   
  85. echo '不匹配';   
  86. }   
  87.   
  88. //而\W这个就是和上面的\w相反 ,除了\w能打出来的,其他都可以打出来.   
  89.   
  90. $sz3='/\W/';   
  91. $zs3='@#¥%……&';   
  92. echo '   
  93. ';   
  94.   
  95. if(preg_match($sz3,$zs3))   
  96. {   
  97. echo '匹配';   
  98. }else  
  99. {   
  100. echo '不匹配';   
  101. }   
  102.   
  103. //这些乱七八糟的都可以打出来了,这些就是\w这个正则表达式不能打出来的.   
  104.   
  105. //还有几个   
  106. //\d就是和[0-9]一样规则.   
  107. //\D就是和[^0-9]一样的规则 除了数字都可以.   
  108.   
  109. //还有几个不常用的我就不练习了,就看看.   
  110. //\s匹配任何空白字符   
  111. //\S匹配任何非空白字符   
  112. //\b匹配是否到达了单词边界   
  113. //\B匹配是否没有达到单词边界   
  114. //\匹配真则中的特殊字符.   
  115.   
  116. //\b匹配是否到达了单词边界   
  117. //\B匹配是否没有达到单词边界   
  118. //这个有点抽象 还是练习下.   
  119.   
  120. $sz4='/php\b/';   
  121. $zs4='php';   
  122. echo '   
  123. ';   
  124.   
  125. if(preg_match($sz4,$zs4))   
  126. {   
  127. echo '匹配';   
  128. }else  
  129. {   
  130. echo '不匹配';   
  131. }   
  132.   
  133. //输出的是匹配 但是$zs4='php hihho';也是匹配..   
  134. //有点小坑啊,所以这个可以说是达到空格没.....   
  135.   
  136. //OK,完工.   
  137.   
  138. ?>  
×
腾讯微博