我有以下字符串,我试图通过正则表达式匹配:
;IF TEST_DATE <= 200112 THEN E>=90 AND S>=90
OR P = "25" ENDIF
IF TEST_DATE >= 200201 AND TEST_DATE < 200407 THEN E>=89
AND S>=90 OR P = "25" ENDIF
我正在使用以下正则表达式尝试从分号(旨在成为注释)到第一个 ENDIF 进行匹配:
;\s*IF (\d|\D)+ ENDIF
不幸的是,这种模式一直匹配到第二个 ENDIF。我已经尝试了使用 Java Pattern.DOTALL 以及 (?s) 标志的各种解决方案,但没有成功。