匹配所有空格的正则表达式除外?

时间:2017-09-28 03:27:22

标签: javascript regex

匹配所有空格的正则表达式:

  1. \sand\s
  2. \sor\s
  3. \sbut\s
  4. ,\s


  5. 输入

    字体粗细,宽度和高度,背景或背景颜色,但转换样式


    input.replace(regex,"-")


    匹配

    字体重量,宽度和高度,背景或背景颜色,但变换样式  
     
     

    替换

    字体-重量,宽度和高度,背景或背景-颜色,但变换-样式  
     
     
    输出

    font-weight,width和height,background或background-color,但是transform-style

1 个答案:

答案 0 :(得分:2)

由于JavaScript不支持外观,因此您无法找到正则表达式,因为您可以像在那里一样简单地执行此操作。如果您愿意稍微扩展替换逻辑,可以使用以下答案(改编自此处的答案:Regex negative lookbehind not valid in JavaScript



var input = " font weight, bland food, width and height, background, or background color, but transform style, and background repeat"
var regex = /\b(\s?and|\s?but|\s?or|,)?\s/g
var output = input.replace(regex, function($0, $1) {
   return ($1 ? $0 : "-")
});
console.log(output);