2
我想用正則表達式匹配以下兩個String
對象。我正在分組並從第一個String
中提取值3.00,4.00,100.00;它工作正常。但是,我有很多String
對象,並且都不包含第三組,因此我想將該組作爲可選項。因此我爲該組添加了一個?
以使其成爲可選項。然而,這並沒有什麼不同,並且沒有第三組部分的任何String
都與我的正則表達式不匹配。匹配字符串和可選數據
我如何使第三組可選?有沒有關於我的正則表達式是否可以更好地格式化的建議?謝謝!
正則表達式
cost{"([0-9]+\.[0-9]+)[0-9"{]},+[a-zA-Z0-9]+{"+([0-9]+\.[0-9]+)[0-9A-Za-z"},{[\]\._-]+:price{"([0-9]+\.[0-9]+)?
字符串1相匹配,因爲它具有第三組值
cost{"3.00{},asdjdfhjkf23hawoutcome{"4.00"},79234gh3k2bdfsfgs2323g23jkg23{[]._-,bonus:price{"100.00"}jksdfjksdf222sdcfszfSDAWFD;
字符串2不匹配,因爲它不具有第三組值
cost{"5.00{},asdjdfhjkf23hawoutcome{"36.00"},79234gh3k2bdfsfgs2323g23jkg23{[]._-,jksdfjksdf222sdcfszfSDAWFD;
@WiktorStribiżew字符串與圖中字符串的變化完全相同,可能有也可能沒有第3組。文件大小明智的是它超過1TB(如果有的話)。 – JasSy
請參閱https://regex101.com/r/cY3oH8/1。 POI是'(?:: price {「([0-9] + \。[0-9] +))?',這個非捕獲組是完全可選的。 –
什麼是」組3「 ? –