use*_*258 7 php regex-negation
我正在尝试匹配用{}包裹的所有单词而不是带有"_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))\}/';
Run Code Online (Sandbox Code Playgroud)
发生这种情况是因为在检查之前\ w*"吃掉"停止的单词"_loop",以防止您首先检查单词(在\ w*之前),如下所示:
$pattern = '/\{((?!\w*_loop\})\w*)\}/';
Run Code Online (Sandbox Code Playgroud)
或者您可以使用?< !::
$pattern = '/\{(\w*(?<!_loop))\}/';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4825 次 |
| 最近记录: |