Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正则表达式:在php中,在匹配的单词后获取一个数字_Php_Regex - Fatal编程技术网

正则表达式:在php中,在匹配的单词后获取一个数字

正则表达式:在php中,在匹配的单词后获取一个数字,php,regex,Php,Regex,从字符串获取票据编号(从tesseract OCR输出) Tesseract OCR字符串如下所示 1;FTC013233 259139 Bill Date 23/06/2015 Mrs. DR.Greesshma-‘H Age/sex 23;y 22;D 1 Fema|e Bill No 34939 Hospital ' Req No HG-4 1142645 3;HASH'KA'-A- D 9 % Eergncy VH) a.. . !‘:‘u"‘_‘i"

从字符串获取票据编号(从tesseract OCR输出)

Tesseract OCR字符串如下所示

1;FTC013233

259139 Bill Date 23/06/2015
Mrs. DR.Greesshma-‘H Age/sex 23;y 22;D 1 Fema|e

Bill No 34939
Hospital ' Req No HG-4 1142645

3;HASH'KA'-A- D 9 %

  Eergncy

VH)

a.. . !‘:‘u"‘_‘i"

Total Amount:

Paid Amount :
你可以使用正则表达式

/Bill\s+No\s+(\d+)/ig

PHP代码:

<?php
$re = "/Bill\\s+No\\s+(\\d+)/i"; 
$str = "1;FTC013233\n\n259139 Bill Date 23/06/2015\nMrs. DR.Greesshma-‘H Age/sex 23;y 22;D 1 Fema|e\n\nBill No 34939\nHospital ' Req No HG-4 1142645\n\n3;HASH'KA'-A- D 9 %\n\n  Eergncy\n\nVH)\n\na.. . !‘:‘u\"‘_‘i\"\n\nTotal Amount:\n\nPaid Amount :1;FTC013233\n\n259139 Bill Date 23/06/2015\nMrs. DR.Greesshma-‘H Age/sex 23;y 22;D 1 Fema|e\n\nBill No 34930999\nHospital ' Req No HG-4 1142645\n\n3;HASH'KA'-A- D 9 %\n\n  Eergncy\n\nVH)\n\na.. . !‘:‘u\"‘_‘i\"\n\nTotal Amount:\n\nPaid Amount :"; 

preg_match_all($re, $str, $matches);

print_r($matches);
?>

您可以使用
preg\u match
正向查找
正则表达式作为

preg_match('/(?<=Bill\sNo\s)(\d+)\b/',$str,$res);
echo $res[0];//34939

preg_match('/(?为什么在这里使用
i
修饰符匹配
票据编号
票据编号
票据编号