在以下内容中,符号“~”表示什么意思?
我猜它们是类似于^和$的起始和结束标记。
preg_match_all("~<img [^>]+>~", $inputw, $output);
我猜它们是类似于^和$的起始和结束标记。
preg_match_all("~<img [^>]+>~", $inputw, $output);
正如Nambi所说,您可以在正则表达式中自由选择分隔符。但是,如果分隔符出现在模式中,则必须进行转义处理。了解这一点后,请想象以下情况
'/\/var\/www\/test/' # delimited with /
'~/var/www/test~' # delimited with ~
最后一个示例不需要转义/
,因为分隔符现在是~
。更加简洁明了了吧?
一般建议使用不与模式本身相同的分隔符,我猜~
作为/
的替代品广泛分布,因为它很少出现在真实世界的模式中。
他们不告诉你的肮脏小分隔符秘密 ->
http://uk.php.net/manual/en/regexp.reference.delimiters.php
示例:
成对的分隔符 (原始文本:\d{2}Some\{33\}\w{5}
)
{\d{2}Some\\{33\\}\w{5}}
解析为 \d{2}Some\\{33\\}\w{5}
和
{\d{2}Some\{33\}\w{5}}
解析为 \d{2}Some{33}\w{5}
非成对的分隔符 (原始文本:\d{2}Some\+33\+\w{5}
)
+\d{2}Some\+33\+\w{5}+
解析为 \d{2}Some+33+\w{5}
和
+\d{2}Some\\+33\\+\w{5}+
无法解析,因为定界符未转义。
^
和$
没有任何关系... - OGHaza