![](/img/trans.png)
[英]How can I find all matches of <element>something</element> with a regex?
[英]How can I find all matches of '{{**** *** **}}' with a regex?
我正在嘗試擴展PHP Markdown,以允許在文本的某些部分使用{{和}}(它們將成為搜索關鍵字,如標簽)。
我有一個可以正常工作的基本正則表達式:
preg_match_all("/\{\{(.*)\}\}/", $description, $nomsTags);
在同一句子中有2個關鍵字時不起作用:
This {{is}} just an {{example}}.
它僅返回{{is}} just an {{example}}
而不是' {{is}}
和' {{example}}
'。
如何修改正則表達式,使其在兩種情況下均可工作?
代替 。 您可以使用[^}]
。
量詞是貪婪的。 這意味着前面的表達式將擴展為最大可能的重復次數。 嘗試使用非貪婪量詞,而不是附加一個?
到量詞:
/\{\{(.*?)\}\}/
preg_match_all("/{{([^}]*)}}/", $description, $nomsTags);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.