[英]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.