时间:2021-05-26
最近使用 PHP 写了一个应用,主要是正则表达式的处理,趁机系统性的学习了相应知识。
这篇文章的写作方式不是讲理论,而是通过具体的例子来了解正则,这样也更有实践性,在此基础上再去看正则表达式的基本概念会更有收获。
禁止分组的捕获
在正则中分组很有用,可以定义子模式,然后可以通过后向引用来引用分组的内容,但是有的时候仅仅想通过分组来进行范围定义,而不想被分组来捕获,通过一个例子就能明白:
$str = "http://";$preg = '/[a-z]+(?=:)/';preg_match($preg,$str,$arr);print_r($arr);(2)"invisible" 分隔符
也叫 “zero-width” 分隔符,参考下面的例子:
$str = ("chinaWorldHello");$preg = "/(?=[A-Z])/";$arr = preg_split($preg,$str);print_r($arr);(3)匹配强密码
instead of specifying the order that things should appear, it's saying that it must appear but we're not worried about the order.
The first grouping is (?=.{8,}). This checks if there are at least 8 characters in the string. The next grouping (?=.[0-9]) means "any alphanumeric character can happen zero or more times, then any digit can happen". So this checks if there is at least one number in the string. But since the string isn't captured, that one digit can appear anywhere in the string. The next groupings (?=.[a-z]) and (?=.[A-Z]) are looking for the lower case and upper case letter accordingly anywhere in the string.
向后查找 ?<=
?<= 表示假如匹配到特定字符,则返回该字符后面的内容。
?= 表示假如匹配到特定字符,则返回该字符前面的内容。
好了,今天的教程就先到这里,有什么问题大家可以留言,我们来讨论下
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
正则表达式在PHP中的应用在PHP应用中,正则表达式主要用于:•正则匹配:根据正则表达式匹配相应的内容•正则替换:根据正则表达式匹配内容
在php中preg_match()函数是用来执行正则表达式的一个常用的函数。正则表达式几乎在所有编程语言里面都会用到,本实例介绍php中正则表达式preg_ma
Java中正则表达式运用实例(参看java中正则表达式运用详解):测试代码packagetest;/***在String的matches()方法,split()
相关阅读:EditPlus中的正则表达式实战(1)EditPlus中的正则表达式实战(2)EditPlus正则表达式实战(3)EditPlus中的正则表达式实战
javascript正则表达式分组、断言详解提示:阅读本文需要有一定的正则表达式基础。正则表达式中的断言,作为高级应用出现,倒不是因为它有多难,而是概念比较抽象