正则表达式单词边界

时间:2015-04-12 13:06:29

标签: javascript regex word

我正在尝试编写一个正则表达式来匹配字符串中的所有单词的START字符串。

当用户键入一个字符(或字符串)时,它将用于通过名称或邮政编码(在城市和邮政编码串联字符串中)查找城市。

问题是它还匹配城市的END(这是不需要的......) 我正在使用以下正则表达式:

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

例如:

  • teststring:“Sint-niklaas(9100)”
  • char typed:'s'
    =>不需要的匹配 S int-niklaa s (9100)< ==问题:-)
    =>想要匹配 S int-niklaas(9100)

  • char typed:'9'
    =>想要比赛Sint-niklaas( 9 100)< == ok

1 个答案:

答案 0 :(得分:2)

我认为你正在寻找:

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

^是字符串行开头的锚点(使用m修饰符)。输入字母时,由于括号内只有数字,因此可选的非捕获组失败,字母只能在开头。输入数字后,可选组成功。