簡體   English   中英

正則表達式PHP,在特定位置查找字符

[英]Regex PHP, Find characters in specific position

我解釋了我的問題:我正在使用其他地址

" 25 Down Street 15000 London "

" 25 B Down Street 15000 London "

" Building A 25 Down Street 15000 London "

我找到了一種使用此正則表達式確定所有情況下的街道編號的方法:

 `^([1-9][0-9]{0,2}(?:\s*[A-Z])?)\b`

但是現在我遇到了一個我無法解決的問題,我需要在案子是真的情況下才能確定這條街號之前的字符。

示例:“ Downtown 1 25 號樓2號樓 15000倫敦”,我在這里只需要查找“ 2號樓”

我了解我必須在此字符串的第一個數字之前找到字符。

繼續自己搜索,但是如果有人為我找到解決方案,那將是很棒的。

謝謝 。

現在編輯我的代碼是:

preg_match('/^(.*?)\d+\s+\D+/', $cleanAdressNode, $result, PREG_OFFSET_CAPTURE,0);
        print $result[0][0];

        return $result[0][0];

現在的結果是:RésidenceLes Thermes 1 15大道JeanJaurès而不是僅: RésidenceLes Thermes 1

怎么樣:

preg_match('/^(\D*)/', $str, $match);

您將在$match[1]找到字符串開頭不是數字的所有內容。

根據您的示例:

preg_match('/^(.*?)\d+\s+\D+/', $str, $match);

如果只想匹配前幾個非數字字符,則可以使用^([^0-9]*) 它使用類求反來獲取字符串開頭的所有非數字字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM