我试图写一个正则表达式来匹配字符串和字符串中所有单词的开始。

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

问题在于它还与城市的终点相匹配(这是不必要的...)
我正在使用以下正则表达式:

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


例如:


测试字符串:“圣尼古拉(9100)”
char类型:“ s”
=>不需要的匹配Sint-niklaas(9100)=>通缉匹配圣尼古拉(9100)

字符类型:“ 9”
=>想要匹配的圣尼古拉(9100)

最佳答案

我认为您正在寻找:

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


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

08-25 17:50