0

我会使用正则表达式来选择一个变化的数字例如在下面的例子中我会选择我可以改变的 12090343

我用:

preg_match (/(?<=Dossier.N..)(.*)(?=-)/)

它可以工作,但我认为它不是那么干净,因为空格的数量可能会改变,所以它不会再检测到这个数字

                                        Dossier N° 11110144-001          Pvt du : 03/09/2013 à 7:16
4

2 回答 2

1

它看起来不错,但你可以稍微清理一下。将数字分组并使其匹配数字:

(?<=Dossier.{0,3}N.{0,3})\d+(?=-)

大多数正则表达式引擎无法处理任意长度的后视,因此\s*您必须使用有限长度的表达式,例如\s{0,3}允许“一些”空格,而不是使用更简单(但无界)的表达式。

于 2013-09-08T14:06:04.567 回答
0

您可以尝试以下表达式:

/Dossier[^0-9]*\K([0-9]*)(?=-)/

正则表达式 101 演示

于 2013-09-08T15:32:29.820 回答