一个PHP正则表达式
在segmentfault看到一个问题:最近在写一个markdown语法解析程序,我遇到下面这种问题,比如我的加重字体语法是*ABC*,也就是说在字符外侧包含了两个*。我用正则可以很简单的写出表达式来。
但是如果我要加重的字里面就包含了*这个字符,我想用编程语言里的\反斜杠来转义忽略这个匹配,就像这样*AB\*C*。我只要匹配最外侧没有被转反斜杠标记转义的字符,这个用正则怎么写呢?
有一个回答:
$str = '*AB\*C*';
preg_match('/^[^\\\]*\*(.*[^\\\])\*$/isU',$str,$match);
print_r($match);
---------- PHP调试 ----------
Array
(
=> *AB\*C*
=> AB\*C
)
高手来解释下这句正则:
preg_match('/^[^\\\]*\*(.*[^\\\])\*$/isU',$str,$match); 不懂, 这样不就可以匹配了吗?'/^\*(.*)\*$/is' :Q:Q:Q:Q复杂的正则着就头晕! 正则是门很优美的语言 谢谢您阿,我非常高兴 求高手来解释下,另,楼上,您这是高的哪门子兴呢? /^ [^\\\]* \* (.*[^\\\])\* $ /isU
~~~~ ~~
* 在正则里面可以表示数量。0以上。
页:
[1]