2014-05-03 73 views
0

([:space:])?正則表達式:在可伸縮表達式中添加標點符號

我的表情的一部分允許方向修飾符的可能性,其實際上可以是最多兩個(例如NW)的組合。然而也可能有例如N.W.

我想一個可選的標點加進來,但它不工作:

([[:space:]](N|S|E|W|)([[:punct:]])?{1,2))? 

回答

0

隨着大量的冗餘去掉的東西,這將是

(\s[NSEW](\.?[NSEW])?) 

將匹配「N」,「NW」和「NW」(但也是「NS」 - 這可以通過更復雜的正則表達式來避免,或者在代碼中處理)。

-1

好想通了,如果有興趣的人:

([[:space:]]((N|S|E|W)([[:punct:]])?){1,2})? 
+0

這將允許'NN'或'EW' – Toto

+0

感謝大家好,這是沒有問題,雖然在這種情況下,正則表達式的其餘部分將使該組合極不可能。 –

1

我會做這樣的事情:

\s(?:[NS]\.?[EW]|[NSEW])\b