正则表达式
主页 > 网络编程 > 正则表达式 >

正则表达式中的特殊符号的介绍

2025-07-19 | 佚名 | 点击:

正则表达式中的特殊符号

如:

1

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

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

.的作用

如:

1

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

+的作用

如:

1

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

?的作用

情况1:单独使用

如:

1

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

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

如:

1

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

*的作用

如:

1

2

3

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

                               // 匹配 "abc"

                               // 匹配 "abbbbc"

^的作用

作用:

如:

1

2

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

                                //不匹配 "123abc"

$的作用

作用

如:

1

2

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

                                //匹配 "123abc"

综合对比表

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

总结

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

原文链接:
相关文章
最新更新