Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 匹配第二个单词开头字母的正则表达式_Javascript_Angularjs_Regex - Fatal编程技术网

Javascript 匹配第二个单词开头字母的正则表达式

Javascript 匹配第二个单词开头字母的正则表达式,javascript,angularjs,regex,Javascript,Angularjs,Regex,请考虑以下名称: 萨提亚、苏巴、塞尔维、沙利尼和阿肖克·塞尔瓦姆 我编码为('firstname':新的RegExp('^'+req.body[fieldName],'I')),这意味着,如果我在搜索文本框中输入's',它将显示所有以's'开头的名称 但在ashok selvam这个名字中,第二个词是以“s”开头的。我希望在搜索文本框中输入“s”时也显示此名称 我必须使用哪个正则表达式才能得到结果?可能是这样的 ( 'firstname': new RegExp('(^' + req.body[

请考虑以下名称: 萨提亚、苏巴、塞尔维、沙利尼和阿肖克·塞尔瓦姆

我编码为
('firstname':新的RegExp('^'+req.body[fieldName],'I'))
,这意味着,如果我在搜索文本框中输入's',它将显示所有以's'开头的名称

但在ashok selvam这个名字中,第二个词是以“s”开头的。我希望在搜索文本框中输入“s”时也显示此名称


我必须使用哪个正则表达式才能得到结果?

可能是这样的

( 'firstname': new RegExp('(^' + req.body[fieldName] + ')|(.*\s+' + req.body[fieldName] + ')', 'i') )

您可以使用alternaton非捕获组
(?:^ | \\s)
,而不仅仅是
^

new RegExp('(?:^|\\s)' + req.body[fieldName], 'i')
现在,搜索将在字符串开头或空格后执行

如果搜索字符串可能包含特殊字符,则可能需要对其进行转义:

new RegExp('(?:^|\\s)' + req.body[fieldName].replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'), 'i')

欢迎来到StackOverflow。请拿着这本书四处看看,通读一遍,然后阅读,并提供一个答案。如果周围的人能够轻松阅读并理解您的意思或问题所在,他们可能更愿意提供帮助:)尝试
newregexp(“(^ | \\s)+req.body[fieldName],“i”)
。如果搜索字符串可能包含特殊字符,您可能需要对其进行转义,
new RegExp(“(^\\\\s)”+req.body[fieldName]。替换(/[-\/\\^$*+?。()\[\]{}]/g,“\\\$&”,“i”)
它工作正常,很高兴为您工作。也请考虑一下我的回答是否对你有帮助。你能解释一下吗?