[英]regex on a string to return text after last colon
我有以下正則表達式:
:57[^:]?:*[^:]*
我正在嘗試創建以返回最后一個冒號之后的所有內容:
編輯 :57A:/ 19000019
SOMEMORETEXT
:59:xxxxxxxx
它不應從先前的標記或先前的標記返回任何內容,但我只能獲取它以返回以下內容:
:57A:/19000019 SOMEMORETEXT
其中包括:57A:-但是,我確實要求使用正斜杠,並在最后一個字符后加上另一個字符:
編輯好的,所以我正在前進。 我現在使用的是c#:
var result = Regex.Match(message, String.Format(":{0}[^:]?:*[^:]*", tag ));
現在它返回我需要的所有項目,但全部返回一個字符串,包括我不需要的標簽。 我怎么知道這個字符串並基於\\ n創建一個數組/列表?
嘗試也許向后看
(?<=\:\w{2,3}\:).*
/^\\(.*:\\)*\\(.*\\)$/\\2/
可以解決問題。 您可以使用以下方法進行測試:
echo ':57A:/19000019 SOMEMORETEXT' | sed -e 's/^\(.*:\)*\(.*\)$/\2/'
如果可能的話,盡管如此(盡管使用正則表達式以外的東西,如“ Split”之類的函數),我還是建議嘗試在其定界符上“分割”字符串,因為這可能更可靠並且肯定更有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.