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 つ以上の空白文字に一致し、1 つ以上の数字をキャプチャして、番号をキャプチャ グループ 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 に答える