亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP preg_replace 大括號內的模式,但忽略方括號內的“標志”

PHP preg_replace 大括號內的模式,但忽略方括號內的“標志”

PHP
月關寶盒 2023-08-19 14:13:12
給定以下字符串:Tags are inside {{ curvy }} brackets, but may also include {{ [f] flags }} in square brackets我需要只返回“變量” - 在本例中為“曲線”和“標志”,而忽略標志。我有 2 個單獨的正則表達式來實現此目的,但我需要原始字符串保持不變,因此我需要找到一種方法來合并到單個正則表達式中,該正則表達式查找變量,但忽略標志。這是我現在擁有的兩個正則表達式:獲取 {{ var }} 中的變量 -->~\{\{\s+(.*?)\s+\}\}~獲取標志 [f] 或 [fdc] -->~/\[.*?\]/~第一個正則表達式有效,但返回帶有標志的變量。
查看完整描述

1 回答

?
阿晨1998

TA貢獻2037條經驗 獲得超6個贊

您可以使用

\{\{(?:\s*\[[^][{}]*])?\s*(.*?)\s*\}\}

請參閱正則表達式演示

細節

  • \{\{-{{子串

  • (?:\s*\[[^][{}]*])?- 可選的非捕獲組,匹配 0+ 個空格、 、 、、[之外的任何 0 個或多個字符,然后[]{}]

  • \s*- 0+ 空格

  • (.*?) - 第 1 組捕獲除換行符之外的任何零個或多個字符,盡可能少

  • \s*- 0+ 空格

  • \}\}-}}子串


查看完整回答
反對 回復 2023-08-19
  • 1 回答
  • 0 關注
  • 122 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號