2014-05-05 33 views
1

這正則表達式可以讓我從字符串GIVEN_CHAR_VAL":"AKRONIS387226279863_NXUS0000000016092126"匹配字符和數字這正則表達式可以讓我從喜歡GIVEN_CHAR_VAL特定字符串匹配字符和數字「:」 AKRONIS387226279863_NXUS0000000016092126"

我試圖

GIVEN_CHAR_VAL":"(.*)" 

但沒有按」將不起作用正確 任何想法

+0

你想要匹配什麼?以您的示例爲例,您是否希望在下劃線之前或之後提取產品密鑰部分,或者兩者都完全不同? – collapsar

+0

你的正則表達式在捕獲組1時返回,AKRONIS387226279863_NXUS0000000016092126你想返回什麼? –

回答

1

如果你只是想匹配的字母數字字符,請使用\w而非.:?

GIVEN_CHAR_VAL":"(\w*)" 
+0

\ w也將匹配下劃線,並根據OP沒有指定的風格,創建大量的unicode字符。 –

+0

現在匹配計數:3 匹配[1] [0] = ADHOC_CHAR_VAL 「:」 PLENED387226279863_NXUS0000000016092126 匹配[1] [1] = PLENED387226279863_NXUS0000000016092126 匹配[2] [0] = ADHOC_CHAR_VAL 「:」 匹配[2] [1 ] = 匹配[3] [0] = ADHOC_CHAR_VAL「:」 匹配[3] [1] = – Kac

+0

您的示例中沒有'ADHOC_CHAR_VAL',我不知道爲什麼會顯示在您的結果中。 – Barmar

0

你的建議的正則表達式爲我工作,但你有沒有嘗試過:

GIVEN_CHAR_VAL":"(.*?)" 
0

什麼你真的想匹配?

。*會給你整個集合AKRONIS387226279863_NXUS0000000016092126

\ w +如上建議,因爲它接受會做同樣的「_」

如果你試圖匹配除下劃線的一切嘗試更具體的東西像[A-Z0-9] +,儘管由於介入的下劃線,最終會出現兩場比賽。

+0

其實我只想匹配AKRONIS387226279863_NXUS0000000021805183 – Kac

+0

然後我Barmar的回答是最好的。 (即使用\ w而不是)。雖然你沒有在你的問題中說明它,但我假設你的問題是你正在捕獲最後的引號。如果這不是什麼問題,如果你可以發佈更多的信息,這將是有用的。 – NeilMacMullen

相關問題