请您解释下面的陈述?我认为它叫做正则表达式,但我真的不确定。
~<p>(.*?)</p>~si
si
和(.*?)
代表什么?
答案 0 :(得分:4)
查找<p>
和</p>
不区分大小写(i
)之间的所有内容(因此<P>
也会起作用)并且可能跨越多行(s
)< / p>
答案 1 :(得分:4)
实际上,它被称为regex,是正则表达式的缩写,并且其语法一开始看起来并不熟悉,但很快就变成了第二本质。
si
是标志:s
代表“dotall”,这使.
(我稍后会解释)匹配每个字符,包括换行。 i
代表“不区分大小写”,这是不言自明的。
(.*?)
部分说:“匹配任何字符(*
)的每0次或更多次重复(.
),并使其贪婪懒惰(?
)即匹配尽可能少的字符“。
当您针对正则表达式检查字符串时会发生“匹配”。例如,您说<p>something</p>
匹配给定的正则表达式。
你会发现@ Mchl的link是关于正则表达式的重要信息来源。
希望这有帮助。
答案 2 :(得分:1)
它被称为正则表达式 - regular expressions的缩写,它是字符串解析,操作和验证的标准。查看我链接到的网站上的参考部分,您将能够计算出正则表达式的功能。
答案 3 :(得分:0)
这是一个懒惰的正则表达式,基本上它会尽可能地使用该掩码尝试LITTLE(懒惰),而默认情况下它会尝试尽可能多地匹配(贪婪)。
查看此资源以获得更好,更完整的解释: