Regex Wild Card вопрос - PullRequest
       12

Regex Wild Card вопрос

0 голосов
/ 26 августа 2011

Код:

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

2 быстрых вопроса:

  1. Этот код заменяет все, что находится внутри "/" и "/"?
  2. Какая разница в использовании ". *" Вместо ". +"

Ответы [ 3 ]

1 голос
/ 26 августа 2011
  1. Да, это правильно
  2. .* означает: . соответствует любому отдельному символу, * ноль или более раз,

    .+означает: . соответствует любому отдельному символу, + один или несколько раз

1 голос
/ 26 августа 2011
  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"
0 голосов
/ 26 августа 2011
  1. да
  2. ". *" = Любой символ ЛЮБОЙ номер времени.". +" = любой символ ОДИН ИЛИ БОЛЬШЕ раз
...