0
我想使用正則表達式在Java類中匹配字段。到目前爲止,它一直在努力工作,但只有一個問題。一旦我匹配一個字段,然後我有第二個正則表達式匹配字段的名稱。我使用(\w+)\s*(?:\s*=\s*[^;,]+)?
來匹配字段的名稱,但是如果字段的值用括號括起來,並用空格分隔該字段的值,則會開始將字段值與字段名稱進行匹配。例如,下面的內容匹配所有名稱爲value#的名稱,但是,一旦它變爲value5,2就會被匹配,因爲括號內的空格將字段值分開。如果可能的話,我需要一種方法來在括號內不匹配空格,同時仍然完成當前與值1-4相匹配的內容。即使是一個能夠正確匹配5號值但是會讓6號和7號陷入困境的解決方案也會是一個值得歡迎的改進。字段和變量的正則表達式
示例代碼:
value1;
value2 = 3;
value3 = 4, value4 = 4;
value5 = {
1, 2
};
value6 = {
1, 2
}, value7 = {
1, 2
};
正則表達式不足以解析複雜的編程語言,您通常需要編寫一個遞歸下降解析器。 – Barmar