我试图写一个正则表达式来匹配字符串和字符串中所有单词的开始。
当用户键入一个字符(或字符串)时,它将用于通过名称或邮政编码(在城市和邮政编码串联的字符串中)查找城市。
问题在于它还与城市的终点相匹配(这是不必要的...)
我正在使用以下正则表达式:
patt = new RegExp('\\b' + searchchar, 'i')
例如:
测试字符串:“圣尼古拉(9100)”
char类型:“ s”
=>不需要的匹配Sint-niklaas(9100)=>通缉匹配圣尼古拉(9100)
字符类型:“ 9”
=>想要匹配的圣尼古拉(9100)
最佳答案
我认为您正在寻找:
patt = new RegExp('^(?:[^(]+\\()?' + searchchar, 'mi');
^
是字符串行开头的锚点(带有m修饰符)。输入字母时,由于括号内只有数字,所以可选的非捕获组会失败,并且字母只能在开头。输入数字后,可选组成功。