2015-04-12 146 views
0

我想寫一個正則表達式來匹配一個字符串與字符串中的所有字的開始。正則表達式的字邊界

當用戶鍵入一個字符(或字符串)時,它將用於通過名稱或郵政編碼(在城市和郵政編碼連接的字符串中)查找城市。

的問題是,它也符合城市的END(這是不必要的...) 我使用正則表達式如下:

patt = new RegExp('\\b' + searchchar, 'i') 

如:

  • 的TestString: 「Sint-niklaas(9100)」
  • char typed:'s'
    =>不需要的匹配S int-niklaa 小號(9100)< ==問題:-)
    =>想匹配小號 INT-尼克拉斯(9100)

  • 炭類型的: '9'
    =>想聖尼古拉匹配( 100)< == OK
+0

@ RokoC.Buljan他實際上使用了'\\ b' –

回答

2

我認爲你正在尋找:

patt = new RegExp('^(?:[^(]+\\()?' + searchchar, 'mi'); 

^是字符串行開頭的錨點(帶有m修飾符)。輸入字母時,由於括號內只有數字,因此可選非捕獲組會失敗,並且字母只能位於開頭。輸入數字後,可選組成功。

+0

Casimir&Hippolyte。那正是我期待的!謝謝 :) – Tom