生活已是百般艰难,为何不努力一点。下面图老师就给大家分享PHP匹配连续的数字或字母的正则表达式,希望可以让热爱学习的朋友们体会到设计的小小的乐趣。
【 tulaoshi.com - Web开发 】
正则表达式的写法规则:"/规则需要写在2个斜杠中间/"。
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)(. :小数点)用于匹配除换行符之外的所有字符。(s:反斜杠小写s)用于匹配单个空格符,包括tab键和换行符;(S:反斜杠大写S)用于匹配除单个空格符之外的所有字符;(d:反斜杠d)用于匹配从0到9的数字;也可以这样写:[0-9](w:反斜杠小写w)用于匹配字母,数字或下划线字符;(W:反斜杠大写W)用于匹配所有与w不匹配的字符;元字符包括: +, *,?
元字符理解起来容易混淆,所以我在后面做了代码结果截图
代码如下:
“+”元字符规定其前导字符必须连续出现一次或多次
= 比如/es+/
与“tesseessssseast12354haeasashaha”字符串相匹配,首先要与第一个字母e匹配,然后匹配s,s必须出现一次或多次,请看实例截图。
“*”元字符规定其前导字符必须出现零次或连续多次
= 比如/es*/
与“tesseessssseast12354haeasashaha”字符串相匹配,首先与第一个字母e匹配,后面的s出现零次或者连续出现,看实例。
“?”元字符规定其前导对象必须连续出现零次或一次
= 比如/es?/
与“tesseessssseast12354haeasashaha”字符串相匹配,首先与第一个字母e匹配,后面的s出现零次或者最多出现一次(就是最后一个字母s不重复出现)。
示例代码:
代码如下:
$str = "tesseessssseast12354haeasashaha";
echo "=====".$str."
";
echo "/es+/:".preg_replace("/es+/","- -",$str)."
";
echo "/es*/:".preg_replace("/es*/","- -",$str)."
";
echo "/es?/:".preg_replace("/es?/","- -",$str)."
";
?
执行结果截图:
另外如果觉得元字符“+*?”比较难理解可以用这种{ }方法代替:
比如es*我们可以写成es{0,},而es+我们可以写成es{1,},es?可以写成es{0,1},注意:当不确定次数的时候就不用写(也不用空格)。
当然我们要指定出现多少次的可以写成这样:es{3}表示s出现3次
举一反三:
比如要替换连续多个空格为一个空格,我可以这样写:preg_replace("/s+/"," ",$str);
比如要找出字符串中的数字(整数):preg_replace("/d+/", "(