正则表达式:下面这段代码的~和~isU有什么作用吗?这是什么的正则表达式?
发布网友
发布时间:2022-04-23 05:20
我来回答
共2个回答
热心网友
时间:2022-04-23 06:50
这是一条PHP语句,它使用正则表达式,将变量$contents中的收件人和(subject|from)内容捕获(抓取,收集)到数组$vals2中。
1. 正则表达式分隔符
~Feedback-Type: abuse\s.*\sTo:\s(.*)(Subject|From):\s~isU
可分为两部分,一部分是正则式正文,Feedback-Type: abuse\s.*\sTo:\s(.*)(Subject|From):\s
一部分是正则式选项:isU
这两部分是以~分隔的,如下:
~regex~options
分隔符一般使用/../,这里使用~..~,也是一样。
2. 正则式选项
i: 表示in-casesensitive,即大小写不敏感
s: PCRE_DOTALL,表示点号可以匹配换行符。
U: 表示PCRE_UNGREEDY,表示非贪婪,相当于perl/python语言的.*?,在匹配过程中,对于.*正则,一有匹配立即执行,而不是等.*消费了所有字符再一一回退。
正则表达式论坛 http://regex.me
正则表达式博客 http://iregex.org
参考资料:http://us2.php.net/manual/en/reference.pcre.pattern.modifiers.php
热心网友
时间:2022-04-23 08:08
isU 就是字符串,PHP的preg_match_all -- 进行全局正则表达式匹配
\s 匹配任何空白字符,包括空格、制表符、换页符等等