我使用正则表达式的时间不长,我正在努力定义正确的正则表达式模式。我已经搜索了这个网站和许多其他网站并没有找到我需要的东西。
这是我需要解析的文件中的子字符串:
As of 10 AM on:
9/7/2012 227,134 mmcf.
9/9/2011 1,224,376 mmcf.
9/10/2010 424 mmcf.
我需要提取的是任何不是文件内行中的日期的数字。上面示例中的每一行都是文件中的换行符,日期是该行中的第一个单词(如您所料)。日期后面的空格实际上是两个制表符和一个空格。我只需要提取值227,134,并且我需要能够获取任何数字 1 - 999,999,999 的值。如您所见,逗号包含在值中。
我已经能够创建一个匹配任何值(123,456;123,224,376;和 424)的模式,但它也匹配每个日期属性(月、日、年)。我有一个模式可以获取日期和空白,但我不确定之后如何获取值。
这是我正在使用的当前模式:
^(?:3[01]|[12][0-9]|[1-9])[/.-](?:1[0-2]|[1-9])[/.-][0-9]{4} [,0-9]+\b
这符合以下条件:
9/7/2012 227,134
9/9/2011 1,224,376
9/10/2010 424
有没有办法匹配模式的一部分并将其从模式的其余部分中排除?
最好的方法是什么?
我真的只关心在列表中找到第一个值(在本例中为227,134)。
在此先感谢您的帮助。