Javascript正则表达式匹配“1v1”或“30v30”等

时间:2016-01-31 20:58:51

标签: javascript regex

我有一些文字字符串,例如

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

我需要一个将忽略除INTvINT模式之外的所有内容的正则表达式,以便返回的唯一内容是“1v1”或“3v3”。

我知道PHP中的正则表达式会是这样的,但我不知道如何在Javascript中实现相同的东西:

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

2 个答案:

答案 0 :(得分: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 :(得分:1)

尝试这样的事情?

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