我有一個這樣的字符串:obj[attr1=val1 attr2=val2 attr3=val3]
我需要提取對象的名稱和屬性。java正則表達式:組計數固定
/^(\w+)(?:\[(\w+=\w+)(?:\s(\w+=\w+))*\])?$/
現在我有一個難以決定在Java中:
Pattern pathPattern = Pattern.compile("^(\\w+)(?:\\[(\\w+=\\w+)(?:\\s+(\\w+=\\w+))*\\])?$");
我得到只是一個對象名稱和
此前,我一直在使用正則表達式旁邊類似決定任務在javascript第一屬性。 Mather類似乎沒有考慮符號「*」而獲得對應於「()」計數的組計數。
是否存在使工作java reg exp像js regexp的可能性,或者我需要進行兩步提取?
謝謝
是的你是對的。它不考慮所有與'*'匹配的東西。但只有一組人數。 –
我認爲這是奇怪的實現方式。我可以使用reg exp進行匹配,但我無法使用數據。 – Damask
當你使用'*'時,模式將會被下一場比賽不斷取代。因此最後你只會有一個匹配的字符串。這就是爲什麼它只有一個組。 –