【问题标题】:Regex Wild Card question正则表达式通配符问题
【发布时间】:2011-08-26 01:25:40
【问题描述】:

代码:

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

2 个快速问题:

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

【问题讨论】:

标签: javascript regex replace wildcard


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

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

// 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"

【讨论】:

  • 仅仅因为你给出了一个明确的例子,我会选择你的答案而不是'Jared Ng'
  • 谢谢!正则表达式真的很酷。如果您有兴趣深入挖掘,请查看regular-expressions.info.. 即使是基本的正则表达式知识也会带来许多其他方式难以或不可能实现的可能性。
【解决方案2】:
  1. 是的,没错
  2. .* 表示:. 匹配任意单个字符,* 零次或多次,

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

【讨论】:

    【解决方案3】:
    1. 是的
    2. ".*" = 任意字符任意次数。 ".+" = 任意字符一次或多次

    【讨论】:

      猜你喜欢
      • 2011-07-17
      • 2013-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-21
      相关资源
      最近更新 更多