exec, как правильно?
var data = "<code>example1</code><code>example2</code>"; var reg = new RegExp("<code>([\\s\\S]*)<\/code>","g"); var res = reg.exec(data); alert(res[1]); Результатом данного кода является "example1 </ code> <code> example2" правда непонятно почему так? почему не "example1"? Подскажите пожалуйста что тут не так!:help: |
Это жадность)
|
var data = "<code>example1</code><code>example2</code>"; var reg = new RegExp("<code>([\\s\\S]*?)<\/code>","g"); var res = reg.exec(data); alert(res[1]); Будет работать) |
а я еще добавлю, что вместо [\s\S]* (все пробельные символы или все не пробельные) логично использовать просто .* (любые символы).
|
Спасибо!:thanks:
|
Цитата:
|
Этот код, кстати, не выловит example2.
var data = "<code>example1</code><code>example2</code>"; var reg = new RegExp("<code>([\\s\\S]*?)<\/code>","g"); var res = reg.exec(data); alert(res); Вот так: var reg= /<code>([\s\S]*?)<\/code>/g; var data= "<code>example1</code><code>example2</code>"; var temp, res=[]; while ((temp=reg.exec(data))!==null) res.push(temp); alert(res); |
Часовой пояс GMT +3, время: 23:14. |