0
我正在使用允許輸入CSV文件的工作流自動化工具(使用Java構建)。 CSV將手動創建,並根據填充哪些列,工作流將執行某些操作。因此,我需要匹配字符串(每次一個CSV行)只有當以下條件都沒有發現:用於驗證CSV完整性的正則表達式
- 逗號在字符串的開頭[指示第一個值是缺少]
- 逗號空間逗號[指示中間值是缺少]
- 逗號在字符串的結尾[表示最後一個值是缺少]
考慮下面的輸入文本匹配
HMSS TN PUPIL EDITION LV 5,HMHSS Ohio PE LV 5-6 Making A New Nation, HMH SCIFSN TN SE G6 2019, CA IMPUSHGGROCONFG8SUBBXCNTLBL, "R180 NG LBOOK TG STG B NAT""L", HMH BIEN DIT TE LV1A/18/1 2018, DTM NOW TE M&D, MD GOMATH SP SE INACTV WKTXT ACC7 2014*, "0158009673, 0158009681, 015800969X, 0158009703"
個
輸入文本規則: 不能以空格開頭,不能有空格
結束這不應該匹配 - 第一個值丟失:
,HMHSS Ohio PE LV 5-6 Making A New Nation, HMH SCIFSN TN SE G6 2019, CA IMPUSHGGROCONFG8SUBBXCNTLBL, "R180 NG LBOOK TG STG B NAT""L", HMH BIEN DIT TE LV1A/18/1 2018, DTM NOW TE M&D, MD GOMATH SP SE INACTV WKTXT ACC7 2014*, "0158009673, 0158009681, 015800969X, 0158009703"
這不應該匹配 - 中間值是丟失:
HMHSS Ohio PE LV 5-6 Making A New Nation, , HMH SCIFSN TN SE G6 2019, CA IMPUSHGGROCONFG8SUBBXCNTLBL, "R180 NG LBOOK TG STG B NAT""L", HMH BIEN DIT TE LV1A/18/1 2018, DTM NOW TE M&D, MD GOMATH SP SE INACTV WKTXT ACC7 2014*, "0158009673, 0158009681, 015800969X, 0158009703"
這不應該匹配 - 最後一個值是失蹤:
HMHSS Ohio PE LV 5-6 Making A New Nation, HMH SCIFSN TN SE G6 2019, CA IMPUSHGGROCONFG8SUBBXCNTLBL, "R180 NG LBOOK TG STG B NAT""L", HMH BIEN DIT TE LV1A/18/1 2018, DTM NOW TE M&D, MD GOMATH SP SE INACTV WKTXT ACC7 2014*, "0158009673, 0158009681, 015800969X, 0158009703",
的表達我試過:
^(("(?:[^"]|"")*"|[^,]*)(,("(?:[^"]|"")*"|[^,]*))*)$
匹配整個字符串
[-\w\s"/&*]+(,[-\w\s"/&*]+)*
我來最接近的一次。不抓住「逗號空格逗號」。 我需要考慮整個輸入字符串。
非常感謝您的閱讀和您的協助!