【发布时间】:2014-08-19 10:53:22
【问题描述】:
我遇到需要解析以下内容的情况
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))) *
由于对正则表达式的经验较少。谁能帮帮我。
提前致谢。
【问题讨论】:
-
您的正则表达式搜索任何单个字符
.?,后跟字符串TAX或SUB-TOTAL-one-optional-character-SUB-TOTAL。现在你没有第二个版本,所以它基本上会在TAX这个词之前返回换行符!.*为您提供任意数量的任意字符,?:是非捕获组(?=是前瞻。) -
这可能是对您的需求的误解,但是如果适当的代码是可修改的,那么最好的设计是按原样解析文本,然后放置忽略税收的逻辑在解析之后。
标签: java javascript regex