1
我正在嘗試查找與文本中的某些自定義標記匹配的正則表達式。標籤總是有格式[! - sometext--]或[! - sometext:param1--],[! - sometext:param1:param2--]。我需要做的是將「sometext」部分和可選參數單獨作爲「param1:param2」或「param1」和「param2」(無關緊要)。用於查找自定義標記的正則表達式
我對沒有標籤的PARAMS方法是
\[!--(.+?)--\]
但我怎麼在一個優雅的方式PARAMS部分匹配嗎?
我有類似的東西,但隨後 '胡說[! - disclaimer_vat--] blupp [! - disclaimer_vat - ]' 會產生一個匹配 'disclaimer_vat--] blupp [ ! - disclaimer_vat'由於貪婪。 – smares
我認爲以下作品: '/\[!--(.+?)(?:\:(.+?))??\\\/ – smares
我將它改爲非貪婪變體。看看是否適合你。我想你也可以確保在最終捕獲的匹配中不會碰到結尾的']':'([^ \] - ] +?)?' –