2016-09-07 51 views
-1

我有下面的代碼與Java正則表達式匹配或條款

String valuepairName = "sc_mpl_MAX_AUD_TIME_To_20_Val.$$DATE_TO_LOAD"; 
boolean result = valuepairName.matches("sc_mpl_MAX_AUD_TIME_To_(20|32|82)_Val.$$DATE_TO_LOAD"); 

結果評估爲假,但我看不到的錯誤。 這必須是非常微不足道的,因此它的駕駛我瘋狂:(

回答

4

你需要逃避每個$單獨(或使用pattern.quote)($特殊字符在正則表達式)。使用

boolean result = valuepairName.matches("sc_mpl_MAX_AUD_TIME_To_(20|32|82)_Val.\\$\\$DATE_TO_LOAD");

+1

這工作,沒有想到逃脫這些美元符號,非常感謝!:) – 4Kings

+0

@ 4Kings - 正如LukStorms所提到的,您可能也想逃避'.' – TheLostMind