正则表达式

关注公众号 jb51net

关闭
首页 > 网络编程 > 正则表达式 > 正则表达式特殊符号

一文详解正则表达式中的特殊符号

作者:小罗爱吃肉。

正则表达式可以被用来替换字符串中的文本、验证表单、基于模式匹配从一个字符串中提取字符串等等,这篇文章主要介绍了正则表达式中特殊符号的相关资料,需要的朋友可以参考下

正则表达式中的特殊符号

如:

preg_match('/.+?hxx/is', hxx));

返回,0,表示没有匹配,这是因为 .+?的作用,具体讲一下。

.的作用

如:

preg_match('/a.b/', acb));

+的作用

如:

preg_match('/a+/', aaa));

?的作用

情况1:单独使用

如:

preg_match('/a?b/', ab));

情况2:作为非贪婪修饰符(与量词组合)

如:

preg_match('/a+?b/', aab));

*的作用

如:

preg_match('/ab*c/', 'ac');    // 匹配 "ac"(b出现0次)
							   // 匹配 "abc"
							   // 匹配 "abbbbc"

^的作用

作用:

如:

preg_match('/^abc/', 'abc');     //匹配 "abc123"
								//不匹配 "123abc"

$的作用

作用

如:

preg_match('/abc$/', 'abc');     //不匹配 "abc123"
								//匹配 "123abc"

综合对比表

元字符示例表达式匹配行为示例输入匹配结果
./a.b/匹配任意单个字符(除换行符)aXb匹配aXb
./ab/只能匹配字面abaXb不匹配
+/a+/匹配1个或多个aaaa匹配整个aaa
+/a/只能匹配单个aaaa只匹配第一个a
?(单独)/a?b/a出现0次或1次b匹配b
?/ab/只能匹配abb不匹配
+?/a+?b/非贪婪匹配:尽可能少地匹配aaaab匹配aab(从第二个a开始)
+(无?/a+b/贪婪匹配:尽可能多地匹配aaaab匹配整个aa
^/^a/匹配出现在开头的aa匹配到了开头的 a

总结

就是最近经常遇到一些这类的 特殊符号,搞不懂什么意思,网上也没有很全面的教程,就问al,自己总结了一下。

到此这篇关于正则表达式中特殊符号的文章就介绍到这了,更多相关正则表达式特殊符号内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文