我意識到SO並不是「讓我成爲正則表達式」的網站,但我真的試圖單獨解決這個問題。我在正則表達式上很糟糕。PHP縮寫狀態的正則表達式
基本上,我解析了一個位置搜索的查詢,其中可能包括諸如「區域,城市,州,郵編」以及其間的所有內容(有或沒有逗號),縮寫狀態或拼寫等各種變化。 。
我正在努力與國家縮寫。主要是因爲它並不總是像「VA」那樣在任何一邊都有空間,相反它可能是字符串的結尾。我在一個RegEx tool一直在測試這些,這裏有一對夫婦,我嘗試了 「VA」:
/(VA)(\ S | \ n | \ R)/ < - 不工作在所有
/(VA)[^ A-Z0-9] */< - 最終使數字和字母就結束
我想我只是需要如何去一些指導這樣做?
[編輯] @Igor Korghov
我有狀態的縮寫與海岸線的數組:
$stateAbbreviations = Array('AL','AK','CA','CT','DE','FL','GA','HI','LA','ME','NH','NJ','NY','NC','OR','MD','MA','MS','RI','SC','TX','VA','WA');
後來在我的代碼,我通過這些循環,並試圖在我的$它們匹配查詢這是與strtoupper()大寫。
$query = "LESNER BRIDGE, VIRGINIA BEACH, VA 23453";
foreach($this->stateAbbreviations as $state)
{
if(preg_match("/(VA)[^A-Z0-9]*/", $query, $match))
{
var_dump($match);
}
}
我實現更有效的方式是隻要找到孤立的2字符塊,並且然後與我的數組,但就目前而言,我只是測試周圍搞亂,以確保我甚至可以抓住的縮寫。周圍的縮寫
你能添加一些例子? – 2012-02-03 18:28:38
請定義一些字符串,正則表達式應匹配 – DerVO 2012-02-03 18:30:03
@IgorKorkhov我添加了一些信息。 – 2012-02-03 18:38:25