只做一些常用的简单示例演示供大家学习参考,对正则表达式感兴趣的朋友可去网上搜索更详细的学习教程。
1、从一个字符串中匹配所有的数字:
匹配到了,总共匹配2次,分别是7、5。
使用preg_match_all函数可以执行正则表达式的匹配,看看正则表达式的通用写法:“/正则表达式/i”,i代表忽略大小写。
从上节的表中可知道“\d”匹配一个数字。
2、从一个字符串中匹配字母或数字或下划线:
“\w”匹配包括下划线的任何单词字符。
匹配特定的字符,除了“\d”、“\w”,还可以用中括号的方法,比如“\d”等价于 [0-9],“\w”等价于'[A-Za-z0-9_]'。
中括号其实就是个集合的意思。可以在中括号里指定特定的字符,也可以用“-”指定字符范围。
3、匹配多个字符
如果把“78”当成一个数字去匹配怎么做?可以把正则表达式写成这样:“/\d\d/i”或者用大括号的方法。
如果用“/\d\d/i”或“/\d{2}/i”只能匹配到“78”,用“/\d{1,2}/i”即可以匹配“78”又可以匹配“5”。在大括号里可以指定匹配字符个数最少几个和最多几个。
4、“^”、“$”用法
正则表达式里可以直接写字符,上面的字符“hd”匹配到了,如果正则表达式这样写“/^hd/i”就匹配不到了。
“^”的作用会对匹配的字符做位置匹配,匹配的字符必须位于整个字符串的开头。如果改成“/^sh/i”就可以:
“$”的作用也会对匹配的字符做位置匹配,匹配的字符必须位于整个字符串的结尾。
5、“+”、“?”、“*”的用法
这三个符号和大括号用法、作用差不多,对匹配字符个数做限定。
“+”示例(1或多个):
“?”的示例(0或1个):
“*”的示例(0或多个):