忽略特定模式(正则表达式)

问题描述:

文字:忽略特定模式(正则表达式)

总额因(包括GST $ 7.68)$ 84.55

正则表达式:

Total Amount.?\s*(?!\(inc\))?[^\$]*(\$\s?[0-9,]+(\.[0-9]{1,})?) 

https://regex101.com/r/YXr023/1

但匹配它找到的第一笔金额$7.68。如何忽略括号内的任何内容,使其与$84.55相符?

追加(?![^\(]*\))到底,完全忽略了这一行,这是我不想要的。

+0

有只有一组支架的可能吗?括号外(后)是否会有一个数字?你的问题正则表达式和你的链接中的正则表达式有什么不同吗? https://regex101.com/r/YXr023/3怎么样?而不是试图让这一切都非贪婪,只是贪婪的匹配到最后一个$ ...? – TessellatingHeckler

+0

是的,只有一套支架。描述包括忽略不起作用的括号部分。但你的工作似乎正在进行中! – 3zzy

+0

@TessellatingHeckler ..除了数量是几行后(坏OCR)。例如:http://pastebin.com/ikL3Jvt0 – 3zzy

希望这篇文章对您会有帮助..

正则表达式:用于(

2.\$[\d\.]+匹配字符串喜欢背后(?<!\()\$[\d\.]+(?!.*?\))

(?<!\()负的样子$10.1000

(?!.*?\))不包含任何进一步的)

Regex Demo

+0

谢谢,但我并没有自行提取$金额,我正在检查标签,然后向前看,所以我需要使用我的正则表达式,但只是忽略括号内的任何内容 – 3zzy

+0

@ 3zzy检出这一个。我编辑了我的帖子。 –

+0

我在几个文档上使用这个正则表达式,而不仅仅是这个,所以你的失败。不管怎么说,还是要谢谢你。 – 3zzy