2015-05-08 128 views
0

我有可能完全錯過了什麼,但這裏是我有:正則表達式非字母數字分隔符(不是 W)

  1. - 需要防止電話號碼的意外釋放。
  2. - 可能會或可能不會進行分隔(例如,標籤,逗號,空間,等等)
  3. - - 不要阻塞期刊論文或研究的數字具有相似的形式NNN-NNNN
  4. 所有號碼(但不相同)的形式 - 例如 xxxnnn-nnnnxxx(是,排序的矛盾 '分隔',而是 「×」 是字母數字僅)

所以,我有

(\A|\s|\W)\d{3}-\d{4}(\Z|\s|\W)

哪個有效! 近乎我想要的方式。幾乎。 但是,\W^a-zA-Z0-9__是潛在的分隔符。已經嘗試用^a-zA-Z0-9代替\W沒有成功(實際上,更糟糕),但也許指定不正確? FWIW,這將由.NET引擎評估。

+1

已經嘗試過替換\ W與^ A-ZA-Z0-9沒有成功(實際上,更糟糕的是),但也許指定不正確=>張貼你曾嘗試過的代碼 – tolanj

回答

0

試試這個

(\A|\s|[^a-zA-Z0-9])\d{3}-\d{4}(\Z|\s|[^a-zA-Z0-9]) 
+0

看起來像它!謝謝。 Tolanj明顯懷疑這一點,我錯誤地指出了這些字符。感謝所有貢獻者。 –

0

使用負回顧後(?<!...)和負前瞻(?!...)

(?<![^\W_])[0-9]{3}-[0-9]{4}(?![^\W_]) 
+0

我喜歡這個,但懷疑其他人難以支持。謝謝,但是。 –

相關問題