我需要正則表達式來通過逗號(,)分割字符串,但忽略註釋部分中的逗號 我在更改正則表達式後嘗試了很多。例如,它不是成功的 。Java正則表達式用逗號分隔,但忽略逗號內的逗號
Command=RTRV-EQPT, Completion Code= DENY, Error Code= II:AC, Problem Description= /* Input Inva,lid *******ACcess =iden:tifier */, Comment=null,
我需要正則表達式來通過逗號(,)分割字符串,但忽略註釋部分中的逗號 我在更改正則表達式後嘗試了很多。例如,它不是成功的 。Java正則表達式用逗號分隔,但忽略逗號內的逗號
Command=RTRV-EQPT, Completion Code= DENY, Error Code= II:AC, Problem Description= /* Input Inva,lid *******ACcess =iden:tifier */, Comment=null,
不要重新發明輪子:here's an easy-to-use parser
爲您的特定情況下,爲什麼不先刪除註釋,然後分裂,它可以簡化您的問題。
txt.replace("/*reg to match the comment here */", " ").split(',');
正則表達式來匹配評論'//.*|((「(? 。*?\\ * /' – 2012-07-31 09:55:37
加上一個在這樣的RE去,但這是一個準確嗎? 什麼是評論「語法」?如何評論字符編碼(轉義?引用?) 在實際值?考慮{{ABC =「/ *這是一個值* /,DEF = XYZ}} 評論的」語法「看起來只是」任何被/*...*/封閉的東西「, 假定沒有註釋字符出現在引用的值字符串中,所以雙破折號和雙引號的特殊處理看起來有點超過頂部。 其他人提到的解析器方法聽起來確實。 – mgaert 2012-07-31 10:25:38
如何區分評論/非評論?用'/'括起來? – brimborium 2012-07-31 09:00:30
lookahead/lookbehind斷言可能會訣竅 – Paranaix 2012-07-31 09:00:56
用雙引號替換註釋(即製作正確的CSV)並使用正確的CSV解析器。 – OrangeDog 2012-07-31 09:28:55