2016-01-31 2 views
0

У меня есть строки текста, такие какJavascript регулярное выражение, чтобы соответствовать «1х1» или «30v30» и т.д.

$40 : Solo 1v1 
$100 : Team 3v3 

мне нужно регулярное выражение, которое будет игнорировать все, кроме INTvINT рисунка, так что единственное, что вернулся бы быть «1v1» или «3v3».

Я знаю, что регулярное выражение в PHP будет что-то вроде этого, но я не знаю, как добиться того же в Javascript:

return preg_replace('#.*([0-9]+v[0-9]+).*#i', '$1', $str); 
+0

'/ \ d + v \ d +/gi' ... – adeneo

+0

Это регулярное выражение будет соответствовать' 1v2', а также. –

+0

'/ ([0-9] + v [0-9] +)/g' работает для любого числа + v + другого номера –

ответ

3

Используя это регулярное выражение: /(\d+)v(\1)/g вы матч 4v4, но не 4v3

var text = "$40 : Solo 1v1\ 
 
$100 : Team 3v3" 
 

 
console.log(text.match(/(\d+)v(\1)/g));

  • \ D + - один или более цифровых символов
  • \ 1 - обратная ссылка на группу # 1
1

Попробуйте что-нибудь подобное?

"asdfasdfsadf1v1".match(/.*([0-9]+v[0-9]+)/)[1]