正则表达式Wild Card问题

时间:2011-08-26 01:25:40

标签: javascript regex replace wildcard

代码:

strx = "exam/unwanted_tex/ple";
strx = strx.replace(/\/.+\//, '');
alert(strx); // Alerts "example"

2个简单问题:

  1. 此代码替换“/”和“/”中的所有内容?
  2. 使用“。*”而不是“。+”
  3. 有什么区别

3 个答案:

答案 0 :(得分:1)

  1. 是的,这是正确的
  2. .*表示:.匹配任何单个字符,*零次或多次,

    .+表示:.匹配任何单个字符,+一次或多次

答案 1 :(得分:1)

  1. '*''+'被称为量词。 '*'匹配前面的字符或组零次或多次。从某种意义上说,这使得比赛成为可选的。 '+'匹配一次或多次之前的字符或组。在您的特定示例中,没有实际差异。但是,当在其他应用中使用时,区别非常重要。这是一个例子:

  2. '*'量词(匹配零次或多次)

    // Match 'y' in Joey zero or more times
    strx = "My name is Joe";
    strx = strx.replace(/Joey*/, 'Jack');
    alert(strx)  // Alerts "My Name is Jack"
    

    '+'量词(匹配一次或多次)

    // Match 'y' in Joey one or more times
    strx = "My name is Joe";
    strx = strx.replace(/Joey+/, 'Jack');
    alert(strx)  // Alerts "My Name is Joe"
    

答案 2 :(得分:0)

  1. “。*”=任何字符任意数量的时间。 “。+”=任何字符一次或多次