php中常用的正则表达式规则总结
发布时间:2022-07-26 10:27:03 所属栏目:PHP教程 来源:互联网
导读:我们来看一下正则表达式元字符的具体应用。 /fo+/ 因为上述正则表达式中包含+元字符,表示可以与目标对象中的 fool, fo, 或者 football等在字母f后面连续出现一个或多个字母o的字符串相匹配。 /eg*/ 因为上述正则表达式中包含*元字符,表示可以与目标对象中
|
我们来看一下正则表达式元字符的具体应用。 /fo+/ 因为上述正则表达式中包含“+”元字符,表示可以与目标对象中的 “fool”, “fo”, 或者 “football”等在字母f后面连续出现一个或多个字母o的字符串相匹配。 /eg*/ 因为上述正则表达式中包含“*”元字符,表示可以与目标对象中的 “easy”, “ego”, 或者 “egg”等在字母e后面连续出现零个或多个字母g的字符串相匹配。 /Wil?/ 因为上述正则表达式中包含“?”元字符,表示可以与目标对象中的 “Win”, 或者 “Wilson”,等在字母i后面连续出现零个或一个字母l的字符串相匹配。 除了元字符之外,用户还可以精确指定模式在匹配对象中出现的频率。例如, /jim{2,6}/ 上述正则表达式规定字符m可以在匹配对象中连续出现2-6次,因此,上述正则表达式可以同jimmy或jimmmmmy等字符串相匹配。 在对如何使用正则表达式有了初步了解之后,我们来看一下其它几个重要的元字符的使用方式。 s:用于匹配单个空格符,包括tab键和换行符; S:用于匹配除单个空格符之外的所有字符; d:用于匹配从0到9的数字; w:用于匹配字母,数字或下划线字符; W:用于匹配所有与w不匹配的字符; . :用于匹配除换行符之外的所有字符。 (说明:我们可以把s和S以及w和W看作互为逆运算) 下面,我们就通过实例看一下如何在正则表达式中使用上述元字符。 /s+/ 上述正则表达式可以用于匹配目标对象中的一个或多个空格字符。 /d000/ "^d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$" //负整数 "^-?d+$" //整数 "^d+(.d+)?$" //非负浮点数(正浮点数 + 0) "^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数 "^((-d+(.d+)?)|(0+(.0+)?))$" //非正浮点数(负浮点数 + 0) "^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点数 "^(-?d+)(.d+)?$" //浮点数 "^[A-Za-z]+$" //由26个英文字母组成的字符串 "^[A-Z]+$" //由26个英文字母的大写组成的字符串 "^[a-z]+$" //由26个英文字母的小写组成的字符串 "^[A-Za-z0-9]+$" //由数字和26个英文字母组成的字符串 "^w+$" //由数字、26个英文字母或者下划线组成的字符串 "^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$" //email地址 "^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$" //url 正则表达式--验证手机号码:13[0-9]{9} 实现手机号前带86或是+86的情况:^((+86)|(86))?(13)d{9}$ 电话号码与手机号码同时验证:(^(d{3,4}-)?d{7,8})$|(13[0-9]{9}) 提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(w||/|.)+('|"| *|>)? 提取信息中的邮件地址:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* 提取信息中的图片链接:(s|S)(r|R)(c|C) *= *('|")?(w||/|.)+('|"| *|>)? 提取信息中的IP地址:(d+).(d+).(d+).(d+) 提取信息中的中国手机号码:(86)*0*13d{9} 提取信息中的中国固定电话号码:((d{3,4})|d{3,4}-|s)?d{8} 提取信息中的中国电话号码(包括移动和固定电话):((d{3,4})|d{3,4}-|s)?d{7,14} 提取信息中的中国邮政编码:[1-9]{1}(d+){5} 提取信息中的中国身份证号码:d{18}|d{15} 提取信息中的整数:d+ 提取信息中的浮点数(即小数):(-?d*).?d+ 提取信息中的任何数字 :(-?d*)(.d+)? 提取信息中的中文字符串:[u4e00-u9fa5]* 提取信息中的双字节字符串 (汉字):[^x00-xff]* (编辑:漯河站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
