模板:Regex

萌娘百科,萬物皆可萌的百科全書!轉載請標註來源頁面的網頁連結,並聲明引自萌娘百科。內容不可商用。
貢獻者:
Template-info.svg 模板文檔  [查看] [] [歷史] [刷新]

簡介

該模板為RegexParserFunctions模塊的封裝模板,使用基於PCRE庫的正則表達式對字符串的處理,包含下列功能:

  • test:判斷字符串是否匹配正則
  • match:返回與正則匹配的子串
  • replace:根據正則替換字符串

若要將該模板置於其他字符串處理或邏輯判斷的模板中,建議先單獨拿出來測試,確保正則以及修飾符的正確。因為該模板已經屏蔽了原模塊拋出的系統級錯誤(系統級錯誤有可能導致在頁面後退時發生編輯丟失)。

用法與示例

關於修飾符的使用,請參考:PHP官方文檔:模式修飾符

該模板所有方法的ptn參數均支持以<nowiki>標籤包裹的格式傳入。

test

判斷字符串是否匹配正則,匹配則返回1,否則返回空。

{{regex|test|str=字符串 |ptn=正則 |mdf=修飾符 |then= 如果匹配則輸出,默認為1 |else= 否則輸出,默認為空}}

其中,str、ptn、then、else也分別對應匿名參數2、3、4、5。

示例:
{{regex|test|123,456|\d+,\d+|true|false}}

結果:true

match

返回與正則匹配的子串,若未匹配到,則返回空。

{{regex|match|str=字符串 |ptn=正則 |mdf=修飾符}}

其中,str和ptn也分別對應匿名參數2和3。

示例:
{{regex|match|123,456|,\d+}}

結果:,456

replace

根據正則替換字符串,若未匹配到,則原樣返回。

{{regex|replace|str=字符串 |ptn=正則 |mdf=修飾符 |rep=替換內容,默認為空字符串}}

其中,str、ptn、rep也分別對應匿名參數2、3、4。

示例1:
{{regex|replace|abc,dEf|mdf=i|,[a-z]+|000}}      <!-- 使用修飾符“i”,設置大小寫不敏感 -->

結果:abc000

示例2:
{{regex|replace|abc,def|(\w+),(\w+)|$1&$2}}      <!-- 使用“$n”,引用捕獲的子串 -->

結果:abc&def

此頁面最後編輯於 2023年10月6日 (週五) 20:36。
搜尋萌娘百科 (按"/"快速搜尋)
有新的未讀公告

阅读更多:http://zh.moegirl.tw/Template:Regex
本文引自萌娘百科(http://zh.moegirl.tw ),文字内容默认使用《知识共享 署名-非商业性使用-相同方式共享 3.0 中国大陆》协议。