簡體   English   中英

查找帶或不帶括號的“需要”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM