Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Регулярные выражение, незапоминающие скобки (https://javascript.ru/forum/misc/63717-regulyarnye-vyrazhenie-nezapominayushhie-skobki.html)

N1kS 25.06.2016 10:03

Регулярные выражение, незапоминающие скобки
 
Здравствуйте!
В JS пока что еще новичок, необходима ваша помощь в регулярных выражениях, заранее спасибо!
Покажу сразу же на основе примера, чтобы было более понятно. Есть строка:
var str = "event: a vs b";

Необходимо из этой строки получить только "a vs b", делаю следующим образом:
var str = "event: a vs b";
var result = str.match(/(?:event:)(?:\s)(.)+/ig);


Но в результате получаю строку "event: a vs b" и если убрать пробел после "event:", то вообще ничего не находит. Знаю, что где-то ошибка, но не могу разобраться самостоятельно. Судя из документации (?:x) - незапоминающие скобки, тоесть должно находить "event:", но не запоминать его...
Спасибо за внимание!

Rise 25.06.2016 10:41

N1kS, /event: *(.+)/

brexit2000 25.06.2016 11:39

В JS заглядывание назад не поддерживается. можно вот так например:
alert(
  "a vs b: event".match(/.*(?=: event)/)
)


А для вашего случая можно например что-то такое:
alert(
  "event: a vs b".replace(/event: (.*)/, "$1")
)

Но не ясно что за строка полностью. Это будет парсить от event: до конца строки


Часовой пояс GMT +3, время: 05:53.