匹配正则表达式中的字符*而不是*
Match the character * and not the * in regex?
我有以下字符串Item * '* and *
。我想匹配所有的*
字符,跳过'*
字符。
var input = "Item * ''* and *";
var output = (some regex magic happens here)
alert(output); // Item foo '* and foo
有什么想法吗?
以下是我认为您正在尝试实现的目标:
var input = "Item * ''* and *";
var repl = "foo";
var output = input.replace(/('''*)|'*/g, function(_, a) { return a || repl; });
alert(output); // Item foo '* and foo
基本上,当您向replace
方法提供函数时,它会将匹配和任何匹配的组作为参数传递给该函数,并使用返回值作为替换字符串。在这种情况下,由于参数a
只有在与"'*"
匹配时才有值,因此它将不修改该匹配。否则,它将用"foo"
替换它。
相关文章:
- 不同浏览器中的空白字符正则表达式行为
- 使用正则表达式将输入格式设置为单字符逗号、单字符逗号等
- 用于匹配不带字符的单词的正则表达式
- 使用正则表达式匹配长度为六个字符的字母数字字符串
- 正则表达式搜索一个空格,后跟一个字符
- 为什么这个正则表达式不't匹配最后一个字母数字字符
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- javascript正则表达式来识别所有特殊字符
- Javascript-正则表达式,用于在未转义字符上拆分字符串,例如|,但忽略|
- 如何使用正则表达式限制字符串的第一个字符
- 为什么以下正则表达式不删除 ## 字符
- 模仿负查找以匹配JavaScript正则表达式中没有紧跟特定字符的模式
- 匹配某个字符后所有文本的正则表达式是什么
- Javascript中的正则表达式,用于只有数字的字符串,并且不应在除数字以外的任何位置包含任何字符
- JavaScript正则表达式(带_-的字母数字字符)
- 使用正则表达式查找字符串中的不匹配字符
- 用于删除字符串中字符开头到结尾的正则表达式
- 使用 JavaScript 中的正则表达式替换大文本中两个字符之间的每个出现的字符串
- 排除组中的字符(正则表达式)
- Javascript替换:不要在连字符(正则表达式)上拆分单词