簡體   English   中英

我如何使用C#中的regEx從此字符串中獲取值來解釋regex?

[英]How can I grab a value from this string using regEx in c# explain the regex?

我有一個字符串,我需要將其解析為一個值...

var msg = "Sometext can't do this. Blah blah blah Version id: 'xxx'";

如何使用正則表達式並獲取最后兩個單引號之間的文本? xxx請注意{cantt}中的第一個單引號我要查找的值將始終在單引號的最后一個引號之間。 對正則表達式的簡短說明也很棒。

非常感謝您的幫助,提示和示例。

這是最終的正則表達式

    (?<=')[^']*(?='$)

我使用的一般模式是

    (?<=prefix)find(?=suffix)

它找到位於前綴和后綴之間的模式。 我們想要找到的是

    [^']*

這意味着除了單引號( ' )重復零次或更多次。

最后,我們尋找'$結尾處,而不僅僅是' 這意味着單引號必須在行尾。

你可以試試這個

'\w*'

\\ w-簡單易懂,查找字母數字字符,*使它查找任意數量的重復,並且用單引號引起來意味着查找用單引號引起來的任意數量的字母數字字符。

在那個特定的string ...

@"'\w+'"

...將匹配"'xxx'" ,但是如果您知道string將始終以"Version id: 'xxx'"結尾,並且您想考慮可能用單引號引起來的其他文本,則可以使用此字符串。 ..

@"Version id: '(?<versionId>\w+)'$"

...然后使用此名稱檢索版本ID ...

Match match = Regex.Match(msg, @"Version id: '(?<versionId>\w+)'$");

if (match.Success)
{
    string versionId = match.Groups["versionId"].Value;

    // Perform further processing on versionId...
}

正則表達式分解如下:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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