2011-12-19 130 views
0

可能有人請幫我這情況下,正則表達式來提取值

[Some text] 

[Some text] Device ID: XYZ123 [Some text] 

[Some tex] 

我想從上面的示例中提取XYZ123。感謝你的幫助。

+0

使用什麼語言? – ruakh 2011-12-19 03:49:57

+0

「[some text]」的'[',']'是在文本中找到的實際字符嗎? – Regexident 2011-12-19 03:54:19

+0

@ruakh - 使用c# – genuinebasil 2011-12-19 04:48:42

回答

1

您可以使用:

(?<=Device ID:)\b[a-Z0-9]+\b 

(通過捕獲組#0獲得ID)假設你的正則表達式引擎支持lookbehinds,否則使用:

Device ID: (\b[a-Z0-9]+\b) 

(獲得通過抓ID組#1)

注:我在此假定[和實際上在您的源文本中找不到,是嗎?

+0

的困惑。下面的代碼工作。 string expression = @「設備ID:(\ b [a-z0-9] + \ b)」; 匹配匹配= Regex.Match(input,expression,RegexOptions.IgnoreCase); if(match.Success) string_key = match.Groups [1] .Value; Console.WriteLine(key); } 我怎樣才能確保它適用於 - 設備ID:XYZ123&設備ID:XYZ123 – genuinebasil 2011-12-19 05:00:19

+0

設備ID:?(\ b [a-z0-9] + \ b) - 我認爲這是我需要 – genuinebasil 2011-12-19 05:05:43

0

嘗試this

\[[^\]]+]\s*Device ID\:\s*(?<DeviceID>[A-Z0-9]+)\s*\[[^\[]+\]