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

标签 javascript regex

我有文本字符串,例如

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

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

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

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

最佳答案

使用此正则表达式:/(\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

关于Javascript正则表达式匹配 "1v1"或 "30v30"等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35119396/

相关文章:

java - 在 XSD 的限制中指定多个模式

regex - 搜索子字符串的节省空间的方法

ruby - 解析地址簿中的电子邮件

java - 验证正则表达式中包含模板的字符串

javascript - 重新加载(更新)d3.js 强制定向图保留旧的 JSON 数据

javascript - jquery ajax 后调用、ajaxify 历史和后退按钮

javascript - Stripe.js 解析个人信息

javascript - 将 JS 错误行号映射到未缩小的非捆绑 Assets 文件

javascript - 使用 fetch 解构嵌套的 json 对象的正确方法是什么?

regex - Unix : Find and replace consecutive commas to consecutive pipelines