簡體   English   中英

字符串上的正則表達式以在最后一個冒號之后返回文本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM