我試圖從包裝標簽中獲取用戶代碼,其中包含地址和6位數字,有時還有2個前綴的6位數字。首先,我得到了標簽影像,然后在aws textract的幫助下,我得到了文本。但在文本中有時會有6位數的另一個代碼。我試著用(sd{6}s)|((.)d{6}s)|(s[a-zA-Z]{2}d{6}s)與preg_match_all進行重合。有什么辦法可以幫助我找到這段代碼嗎?1 注意,有一個地址總是靜態的,可能有任何函式會在該地址附近搜索?
標簽的例子。搜索了 --> <--:
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incidunt --> 913847 <- ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua --> 913847 <-。
--> TK913847 <-- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
uj5u.com熱心網友回復:
使用
preg_match_all('/addresss K(? :[A-Z]{2})? d{6}/i', $string, $matches)
注意: 不是preg_match。使用preg_match_all來從你的文本中獲得所有的匹配。
參見regex證明。
解釋
--------------------------------------------------------------------------------
地址 'address'/span>
--------------------------------------------------------------------------------
s 空白 (
,
, , f, 和 " ") (1 or
多次(匹配的數量最多
可能的))。)
--------------------------------------------------------------------------------
K 匹配重置運算子
--------------------------------------------------------------------------------
(?: 組,但do不捕獲(可選的
(匹配盡可能多的數量))。)
--------------------------------------------------------------------------------
[A-Z]{2}任何字符of。'A' to 'Z', 'a' to 'z'(2次
--------------------------------------------------------------------------------
)? 結束 of 分組
--------------------------------------------------------------------------------
d{6}位數(0-9)(6次
--------------------------------------------------------------------------------
字符(w)和非字符之間的界限
與非字符之間的界限
uj5u.com熱心網友回復:
看起來這樣就可以滿足你的所有需求:
preg_match_all('#(([w]{2})? [d]{6})#ms', $input, $matches) 。
匹配以下代碼的例子:
- AA123456
- bb123456 。
- 123456
但如果是一個術語的一部分,則不會匹配,這要歸功于邊界,例如:
- lorem123456
- code123456aa
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/332392.html
標籤:
