2012-11-15 67 views
0

我想創建一個正則表達式,它將匹配看起來像電話號碼的任何東西。如果字符串中有多個數字,則匹配它們。電話號碼被定義爲:正則表達式匹配電話號碼

  • 10+字符
  • 不中N結束,但可以在其他字母結尾/詞

所以我想匹配這些:

  • 07158245215Y
  • 01244356356Y
  • 07158245215P
  • 01244356356P
  • 07158245215X
  • 01244356356X
  • 07158245215工作
  • 01244 356356工作
  • 工作07158 245215 /家庭07158 245215 //可能是一個困難的一個
  • 工作01244356356

,並禁止這些:

  • 071582 45215N
  • 01244356356N
  • 01244356356ň

我負先行玩弄/回顧後,但我不能得到任何東西理解了。這是甚至可能的,或者我應該用.NET這樣的高級語言來做嗎?

+0

是指「匹配包含至少一個電話號碼的整個字符串」或「從更長的字符串中提取電話號碼」? –

+0

理想情況下,它會從字符串中提取數字。 – Echilon

回答

1
​​

將更長的字符串中匹配一個10+位數的電話號碼,只要後面沒有N這個數字。它允許每個數字之間有任意數量的空格。

如果你的所有電話號碼總是以0開始在你的榜樣,您可以明確代碼爲正則表達式:

\b0\s*(?:\d\s*){9,}(?![\d\s]*N) 

See it on RegExr

+0

很好,謝謝。 – Echilon