PHP匹配连续的数字或字母的正则表达式

高洛峰
发布: 2017-02-06 16:33:34
原创
2279人浏览过

正则表达式的写法规则:"/规则需要写在2个斜杠中间/"。

(. :小数点)用于匹配除换行符之外的所有字符。

(s:反斜杠小写s)用于匹配单个空格符,包括tab键和换行符;

(S:反斜杠大写S)用于匹配除单个空格符之外的所有字符;

(d:反斜杠d)用于匹配从0到9的数字;也可以这样写:[0-9]

立即学习PHP免费学习笔记(深入)”;

(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+/","-\0-",$str)." 
"; 
echo "/es*/:".preg_replace("/es*/","-\0-",$str)." 
"; 
echo "/es?/:".preg_replace("/es?/","-\0-",$str)." 
"; 
?>
登录后复制

执行结果截图:

PHP匹配连续的数字或字母的正则表达式

另外如果觉得元字符“+*?”比较难理解可以用这种{ }方法代替:

比如es*我们可以写成es{0,},而es+我们可以写成es{1,},es?可以写成es{0,1},注意:当不确定次数的时候就不用写(也不用空格)。

AssemblyAI
AssemblyAI

转录和理解语音的AI模型

AssemblyAI 65
查看详情 AssemblyAI

当然我们要指定出现多少次的可以写成这样:es{3}表示s出现3次

举一反三:

比如要替换连续多个空格为一个空格,我可以这样写:preg_replace("/s+/"," ",$str);
比如要找出字符串中的数字(整数):preg_replace("/d+/", "(\0)", $str);   \0是表示符合规则的字符串值

比如要找出字符串中的带小数点的数字:preg_replace("/d+.d+/", "(\0)", $str); //这里的“.”表示输出小数点

找出由字母组成的字符串:preg_replace("/[a-zA-Z]+/", "(\0)", $str)

找出由(字母、数字混合)组成的字符串:preg_replace("/([a-zA-Z]|d)+/", "(\0)", $str)

 

正则表达式中“或”运算,使用 “ | ”

例如上面的例子:找出由(字母或数字)混合组成的字符串([a-zA-Z]|d) 也可以这样写([a-zA-Z]|[0-9])

“^”出现在 “[ ]”内时就被视做否定运算符;[^0-9]表示除了数字之外的任何字符。

而当“^”位于“[ ]”之外,或没有“[ ]”时,则应当被视做定位符。

定位符的意思就是比如:“^The”:开头一定要有”The”字符串;类似的:“en$”:$符号表示必须是en结尾。

其实认真看一遍就会发现正则表达式还是挺简单的,除非是我写的教程真的有问题。

更多PHP匹配连续的数字或字母的正则表达式相关文章请关注PHP中文网!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号