[英]Find “require” with and without parentheses
到目前為止,我有這個:
(require|include)(_once)?\(([^)]+)
它檢查所有require,require_once,include和include_once的內容,但要求采用以下格式:
require(FOO)
我還需要找到:
require FOO
因此,需要考慮帶或不帶括號以及第二個示例中的空格。
完整代碼的樣式為:
<search position="replace" regex="true"><![CDATA[~(require|include)(_once)?\(([^)]+)~]]></search>
<add><![CDATA[$1$2(VQMod::modCheck($3)]]></add>
您可以使用分支重置:( (?|...|...)
(require|include)(_once)?(?|\(([^)]+)\)| ([^\s;]+))
分支重置功能的主要目的在於內部的捕獲組具有相同的編號。
根據George Reith的評論,您必須為非括號情況找到良好的角色類別。 如果遇到空格或分號,我選擇[^\\s;]
來停止。
另一種方式:(
(require|include)(_once)?[( ]([^\s;)]+)
另一種方式:(
(require|include)(_once)?(\()?(?(3)| )([^\s;)]+)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.