我遇到需要解析以下内容的情况
Some Text
Some Text
SUB-TOTAL : $0.90
Some Text : $0.79-
SUB-TOTAL : $0.11
TAX : $0.05
TOTAL $0.16
如果Tax
不存在,我需要解析到最后'SUB-TOTAL',否则它必须解析到TAX
我不确定我在正则表达式中做错了什么 *。?(?=(TAX |(SUB-TOTAL。?SUB-TOTAL)))*
由于对正则表达式的经验较少。有人可以帮助我。
提前致谢。
答案 0 :(得分:0)
要获得包含SUB-TOTAL或TAX及其值的内容,您可以使用:.*(?:(?:SUB-TOTAL|TAX)[^\n]*)
...这是正确的截止日期吗?
编辑好的 - 让我的头受伤...但是如果它存在则获得最后的SUB-TOTAL,否则TAX:
^(?:(?:(?!.*SUB-TOTAL.*).*TAX[^\n]*)|(?:.*SUB-TOTAL[^\n]*))
希望这适用于您的正则表达式引擎!
EDIT2 此版本不会返回SUB-TOTAL / TAX行
^(?:(?:(?!.*SUB-TOTAL.*).*(?=TAX))|(?:.*(?=SUB-TOTAL)))