2016-02-29 61 views
0

我有數據,它寫在1行中。我寫了一個正則表達式代碼/(ART\D\d{4}(.*)\DAND)/g,但我在這裏有一個錯誤,它只是找到一個匹配,從第一個ART開始|和最後|和條目。我想分開他們。2個匹配的正則表達式

ART | 3613 { 「currentTime的」: 「2016年2月29日20時57分06秒 」, 「聊天」:{ 「用戶」: 「服務器」, 「味精」: 「ASD」}} | AND ART | 8923 {「currentTime」:「2016-02-29 20:57:06」,「chat」:{「user」:「SERVER」,「msg」:「asd」}} AND

enter image description here

+0

這些是分開的行,他們看起來不像他們在單獨的行。你試圖做的是非貪婪的比賽,這可能會有一點牽扯。 – ffledgling

+0

他們在1行,我與他們分開空間 – SLI

+1

您可以使用:['''/ART\D\d{4}(.*?)\DAND/g'](https://regex101.com/r/ js7gk9/3) – anubhava

回答

2

嘗試非貪婪版本...而不是(.*),使用(.*?)

+0

爲什麼反斜槓?你是對的,但使用非貪婪。 – lintmouse

+0

這是因爲我不擅長使用stackoverflow發佈語法。我在沒有反斜槓的情況下嘗試了它,它完全留下了星號。我嘗試了反斜槓(因爲我懶得查找它),它似乎工作,但我想它沒有。我甚至沒有注意到它第二次是錯的。 –

+0

好的..固定。我認爲。但是,真的......當我第一次做這件事時,星號不見了!或者我需要更多的藥物。 –

1

使用非貪婪操作符.*?。或者它會整個你的字符串。

(ART\D\d{4}(.*?)\DAND) 

看這裏:Regex101