javascript - 正则表达式查找字符串中不匹配的单词

标签 javascript regex

我想要实现什么?

->替换字符串中与正则表达式不匹配的单词,并将其替换为其他文本。

不过我不太擅长正则表达式,所以如果你能帮助我那就太好了。

例如:

var str = "New York";
alert(str.replace(/some_magical_reg_ex/, "Jersey"));

所以我想“New”,并将“York”一词替换为其他内容。结果应该是“新泽西”;

我尝试了什么?

https://regex101.com/r/fQ9fN8/3对此,我想强调“angeles”这个词,这样我就可以用其他词代替它。

请注意示例中的最后一行。给出的输入是“洛杉矶”,但没有突出显示/匹配。

如果您认为我遗漏了任何信息,请告诉我,我会相应地更新问题。

编辑: 让我尝试解释更多。

我有一个下拉菜单,显示位置。因此,如果用户输入“Lo”,它将显示以下选项。路易斯安那州、洛杉矶等(以“Lo”开头)。 所以在这个列表中,我需要申请<b></b>文本其余部分的标签。 即当用户输入“Lo”时,显示

  • 'Louisiana'
  • “洛杉矶洛杉矶

所以在 str.replace(/some_magical_reg_ex/, <b>unmatched_text</b>) 的情况下

str = 'Lo'(用户输入)和 unmatched_text = 'uisiana' 或 'Angeles'

最佳答案

这是匹配用户输入后的文本的正则表达式和非正则表达式方法:

var options = ["lousiana", 'los angeles', 'another']

var userInput = "lo"

options.forEach(function(val){
    if(val.indexOf(userInput) == 0){
      console.log(val.replace(new RegExp('('+userInput+')(.*)', 'gi'), "$1<b>$2</b>"))  
    }
})

options.forEach(function(val){
  var idx = val.indexOf(userInput)
  if(idx == 0){
    console.log(userInput+'<b>'+val.substring(userInput.length)+'</b>')
  }
})

关于javascript - 正则表达式查找字符串中不匹配的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36501274/

相关文章:

javascript - 如何使用 JavaScript 将数据从 HTML 表单发送到 Google 电子表格?

Python - 为什么正则表达式比在列表中搜索更有效?

c# - 如何使正则表达式只捕获内部组

javascript - 需要检查srv preg_match

regex - 如何订购正则表达式替代品以获得最长匹配?

javascript - 用setTimeout注册的函数什么时候被调用?

javascript - CSS 文本对齐属性无法正常工作

javascript - 在 Framer.js 中适合每个设备上的草图画板

c - 如何匹配PCRE中的所有组和子组

javascript - 单击时模态按钮不执行任何操作