javascript - Javascript仅在正则表达式中获取匹配的文本
问题描述
我有如下字符串
BANKNIFTY-13-FEB-2020-31200-ce
我想将字符串转换为13-FEB-31200-ce
所以我尝试了下面的代码
str.match(/(.*)-(?:.*)-(?:.*)-(.*)-(?:.*)-(?:.*)/g)
但它返回整个字符串
解决方案
两个捕获组可能是要走的路。现在您有两个选择来使用它。一种是匹配,需要您将两部分放在一起
var str = 'BANKNIFTY-13-FEB-2020-31200-ce'
var match = str.match(/[^-]+-(\d{2}-[A-Z]{3}-)\d{4}-(.*)/)
// just reference the two groups
console.log(`${match[1]}${match[2]}`)
// or you can remove the match and join the remaining
match.shift()
console.log(match.join(''))
或者只是字符串替换,您将两个捕获组连接在一行中。
var str = 'BANKNIFTY-13-FEB-2020-31200-ce'
var match = str.replace(/[^-]+-(\d{2}-[A-Z]{3}-)\d{4}-(.*)/, '$1$2')
console.log(match)
推荐阅读
- bash - 将多个用户及其密码添加到不同的服务器
- c# - C# 'type' 是一个变量,但用作类型
- json - 如何在 Go 中使用不同的 json 标签将 json 从一个结构编组到另一个结构?
- linq - CosmosDb Linq Count v3 SDK
- api - 获取记录的 Salesforce API 抛出错误 Invalid Session
- python - 测试字典中的错误
- puppeteer - 如何正确地将字符串传递给 page.evaluate()?
- python-3.x - BeautifulSoup4:find_all() 覆盖以前的数据集,而不是显示所有目标数据
- c# - 具有条件访问的 Teams 机器人中的非工作身份验证是否有解决方法
- javascript - JQuery - 如何在多个 JQuery 克隆对话框中定位正确的按钮?