2016-08-03 15 views
1

我使用這個正則表達式正則表達式:如何匹配最後一個「」字符串‘文本部分之一,文本部分,文本的第三部分,’

/(?![""])(,)(?![""])/g 

,以配合我給出的逗號分隔字符串中的所有逗號在。。之間 」 」。

"this is a text","text part one, text part two, text part three,","another text","more text", 

不匹配後,「三」逗號...... 感謝任何有用的提示!

+1

給定的正則表達式並沒有真正做什麼你描述。雖然第一個lookahead是毫無意義的,但第二個使正則表達式失敗,正如所討論的逗號後面緊接着'''。除此之外,這個問題缺乏很多細節,從使用的語言開始。 –

+1

對不起 - 我試圖給出一個更精確的例子,我有一個由逗號分隔的部分的字符串版本,它包含在「」中,我想匹配所有封閉部分中的所有逗號....我正在測試regex101。 com ... https://regex101.com/r/wC5tR6/1 – Kai

+0

你是如何獲得文本?因爲它看起來像有一些壞的東西在那裏。 –

回答

0

這可能會更好地完成一些預測,但由於我不確定你究竟是什麼,我會把這些想法扔在那裏。

將你的字符串加載到一個測試文件「testtxt」中,並運行一些perl單線程來玩。我用替代品來展示比賽。

爲剛剛擺脫最後一個逗號的:

perl -ple 's/,(")/$1/g' testtxt 
"text part one, text part two, text part three" 

要擺脫所有逗號的引號內:

perl -ple 's/,//g' testtxt 
"text part one text part two text part three" 

若要去除一切,但字符串中的逗號:

perl -ple 's/[^,]//g' testtxt 
,,, 
0

逗號僅在單詞後面出現在文本中,所以潛在的正則表達式可能是:

/\w+(,)/g 

它匹配一個到N個單詞,並捕獲它們後面的逗號。 可用結果在這裏:https://regex101.com/r/vJ0hY5/1

0

您可以使用正則表達式爲:/\w+(,)(?=\")/g

上述正則表達式得到'前面加word和隨後"

Demo and Explaination

相關問題