繁体   English   中英

PHP Regexp负向前瞻

[英]PHP Regexp negative lookahead

我正在尝试匹配用{}包裹的所有单词而不是带有“_loop”的单词。 我无法看到我的reg表达式出错的地方。

 $content   = '<h1>{prim_practice_name}</h1><p>{prim_content}</p><p>Our Locations Are {location_loop}{name} - {state}<br/>{/location_loop}</p>';
 $pattern = '/\{(\w*(?!\_loop))\}/';

发生这种情况是因为在检查之前\\ w *“吃掉”停止的单词“_loop”,以防止您首先检查单词(在\\ w *之前),如下所示:

$pattern = '/\{((?!\w*_loop\})\w*)\}/';

或者您可以使用: ?< !

$pattern = '/\{(\w*(?<!_loop))\}/';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM