我的目标是捕获报告的最后一页,我想通过匹配描述页码的标题来实现它。 我的报告的最后一页包含我想要匹配的以下字符串(它也可以是两位数或四位数字):
页数:877 of 877
我尝试使用的正则表达式是
Page:\s (\d+) of \1
但这也抓住了以下案例:
Page:8 of 877
我理解正则表达式是从左到右读取的,但是有没有办法捕获第二个数字877,然后将它与第一个数字匹配? (某种背面参考) 我使用.NET Framework的正则表达式引擎。
答案 0 :(得分:1)
如果您将字符串结尾字符<select id="Accounts" onChange="test()">
<option value=""></option>
<option value="Account1">Account1</option>
<option value="Account2">Account2</option>
</select>
<select id="DeliveryPlaces" onChange="test()">
<option value=""></option>
<option value="1">1</option>
<option value="2">2</option>
</select>
<input id="Organisation1" type="text" />
添加到正则表达式的末尾,则它只会匹配字符串末尾的$
。这只会在最后一页上匹配。
答案 1 :(得分:1)
这是我不建议的......
^Page:\s*(\d{1})\s*of\s*\1$|^Page:\s*(\d{2})\s*of\s*\2$|^Page:\s*(\d{3})\s*of\s*\3$
然后将其扩展为您的最大数字(此为3)
我建议使用正则表达式来获取两个捕获组(第一个数字)和(最后一个数字),然后使用您正在使用的任何语言来比较它们,而不是使用正则表达式来执行此操作。