我可以在生成的文件示例中选择数字3433吗?这么多空格是我无法控制的?
BIOLOGIQUES 3433 130906 / 3842
请参阅此处的示例:http://regexr.com?368ku
数字3343可能会从一个文件更改为另一个文件,但它始终具有相同的位置/
我正在使用正则表达式与PHP。
这是一个pdf文档,我使用xpdf的pdftotext函数进行转换,因此我必须将该数字从pdf更改为另一个。
定位非常糟糕,我不知道如何通过正则表达式捕获它。
我试过了:
BIOLOGIQUES [^0-9]*\K([0-9]*)(.*)
http://regexr.com?368ku 但需要所有数字, 我只需要第一个。
答案 0 :(得分:3)
你这太复杂了。这样的事情会起作用:
BIOLOGIQUES\s+(\d+)
字面上匹配字符串“BIOLOGIQUES”,然后是一个或多个空白字符,然后捕获一个或多个数字,在捕获组1时保存您的数字。
在PHP中使用它:
$str = 'DES ANALYSES BIOLOGIQUES 3433 130906 / 3842';
preg_match( '/BIOLOGIQUES\s+(\d+)/', $str, $matches);
echo $matches[1];
您可以从this demo看到这会产生:
3433
答案 1 :(得分:0)
我尝试BIOLOGIQUES[^0-9]*\K([0-9]*)()
并且工作正常