1

我可以在这个生成的文件示例中选择数字 3433,其中包含很多我无法控制的空格吗?

BIOLOGIQUES                                                             3433     130906 / 3842

请在此处查看示例:http ://regexr.com?368ku

数字 3343 可以从一个文件更改为另一个文件,但它始终具有相同的位置/

我在 php 中使用正则表达式。

这是我用 xpdf 的 pdftotext 函数转换的 pdf 文档,所以我必须拥有从 pdf 变为另一个的数字。

它的位置非常糟糕,我不知道如何通过正则表达式捕获它。

我试过了:

BIOLOGIQUES [^0-9]*\K([0-9]*)(.*)

http://regexr.com?368ku 但它需要所有的数字,我只需要第一个。

4

2 回答 2

3

你让这太复杂了。像这样的东西会起作用:

BIOLOGIQUES\s+(\d+)

它从字面上匹配字符串“BIOLOGIQUES”,然后是一个或多个空格字符,然后捕获一个或多个数字,将您的号码保存在捕获组 1 中。

像这样在 PHP 中使用它:

$str = 'DES ANALYSES BIOLOGIQUES                                                                                        3433     130906 / 3842';
preg_match( '/BIOLOGIQUES\s+(\d+)/', $str, $matches);
echo $matches[1];

您可以从这个演示中看到,这会产生:

3433
于 2013-09-09T00:57:11.127 回答
0

我试过BIOLOGIQUES[^0-9]*\K([0-9]*)()并且工作得很好

于 2013-09-09T01:00:01.733 回答