我似乎无法找出正则表达式来匹配格式中的任何字符串
**(anything that's not **)**
我试过在 php 中这样做
$str = "** hello world * hello **";
$str = preg_replace('/\*\*(([^\*][^\*]+))\*\*/s','<strong>$1</strong>',$str);
但没有进行字符串替换。
最佳答案
您可以使用 assertion ?!
与字符配对 .
占位符:
= preg_replace('/\*\*(((?!\*\*).)+)\*\*/s',
这基本上意味着匹配任意数量的任何东西(.)+
,但是 .
永远不能占据 \*\*
的位置
关于php - preg_replace - 如何匹配任何不是\*\*的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6169925/