和提取數據從API來的重複組。我需要在可以在數據中的任何位置的[]括號之間提取文本。例如採集的數據不包含字符,我想驗證字符串
This is [extract] message
This is message [extract]
[extract] this message
正則表達式,我使用這個如下從API工作正常
^[^\]\[]*?\[(?<description>[^\]\[]+)\][^\]\[]*?$
現在數據可以是HTML編碼的和具有%5B代替[和%5D代替。
我正則表達式更新爲如下:
^[^\]\[%5B%5D]*?(\[|%5B)(?<description>[^\]\[%5B%5D]+)(\]|%5D)[^\]\[%5B%5D]*?$/i
但它不處理%5B和5D%作爲單一原子。因此不能夠從下面的有效數據中提取文本:
This is [extract] message %
This is message 5 [extract]
[extract d] this message
,並能夠從下面的無效數據提取文本:
[extract %5D this message
%5B extract ] this message
我該如何治療%5B和%5D的原子及以上正確正則表達式?
我反對它運行正則表達式前的字符串進行解碼。正則表達式在純文本上效果最好。 –
解碼字符串非常有意義,謝謝! –