我有一個文件,其中包含很多行條件字符串,我需要讀取該文件並將邏輯條件字符串轉換爲實際代碼。有幾個參數,條件的每一行檢查一個或多個參數是否符合指定值或包含指定值。例如:如何解析具有自定義邏輯條件的字符串?
$parameterA = "value_1" AND ($parameterB CONTAIN "%value_2%" OR $parameterC = "value_3")
「=」 號, 「AND」 和 「OR」 有 「==」, 「& &」 和 「||」 的含義。 「%」是通配符。
後,我將其轉換爲一個代碼,它應該看起來像:
if (obj.parameterA == "value_1" && (obj.parameterB.contains("value_2") || obj.parameterC == "value_3"))
return true;
else return false;
其中「目標文件」是一些類的一個實例。
我在這裏搜索了其他帖子,看來ANTLR可能是一個不錯的選擇。但是,我沒有這方面的經驗,也不確定在Java中使用它有多困難。在我深入瞭解ANTLR的所有細節之前,我只想檢查是否還有其他好的想法。非常感謝您的幫助!
請注意,您可能需要'obj.parameterA.equals(「value_1」)'而不是'=='。 – hmjd
該行必須是原樣或可以在javascript中?我問你,因爲在這種情況下,你可以使用內置的JavaScript引擎。 –
@hmjd:謝謝你指出。我通常使用C++,而且我不擅長Java。我應該在我的帖子中提到這一點。 – EXP0