Регулярное выражение часть 2
Задача оставить только те слова где на конце присутствует буква 'w' делаю вот так и все работает на ура
var a = '' function replacer(str, p1, p2, offset, s) { a += p1 + " "; } "hfjgw g fj gdw r gf dgwf dgfw sdfg dfg agfdgdf gww gw gfd sg s ggfdfgdw ".replace(/(\b\w+w\b)/g, replacer) alert(a); но если я хочу сделать это в две строчки то работать это все отказывается под предлогом что $1 не функция a = "hfjgw g fj gdw r gf dgwf dgfw sdfg dfg agfdgdf gww gw gfd sg s ggfdfgdw ".replace(/(\b\w+w\b)/g, $1 + ' ') alert(a); в чем может быть проблема? |
Цитата:
|
ааа кажется понял
|
ок с эти разобрался но вот почему все же не работает но теперь пишет что не найдено?
хотя там стоят скобки и по моему мнению $1 должна равняться совпадению в строке |
все понял) эт я сам туплю))
|
Почему .replace? .match же уместнее.
|
может в 2 репласа,
'hfjgw g fj gdw r gf dgwf dgfw sdfg dfg agfdgdf gww gw gfd sg s ggfdfgdw '.replace(/(\b\w+w\b)/gim, ">$1<").replace(/(<.*?>|^.*?>|<.*?$)/gim, " "); |
scuter,
а может не стоит делать в два реплейса то, что можно сделать в один? |
.match(/\b\w+w\b/g).join(" "); |
Цитата:
|
Часовой пояс GMT +3, время: 01:55. |