javascript - 如何使用正则表达式匹配的返回到另一个正则表达式
问题描述
text = "I have usd **12** only."
var amount = text.match(\(?:USD|usd)\s+.?
\d+\.?[0-9]{1,2}\);
它返回
usd *12
我只是想从这个回报中获取数字?
是否可以像这样再次使用“金额”:
amount.match(\\d+\.?[0-9]{1,2}\);
解决方案
你不需要两个正则表达式。这个正则表达式将自己完成这项工作:
(?:USD|usd)\s+.*?(\d+(?:\.\d{1,2})?)
它将捕获捕获组中的数字,因此您只需要一个正则表达式:
"I have usd **12** only." // -> 12
"I have usd 12.00 only." // -> 12.00
"I have usd **** 12.00 **** only." // -> 12.0
推荐阅读
- javascript - Angular 6:如何在进行 http 调用时将响应类型设置为文本
- javascript - Vue 未在测试中加载(黄瓜/水豚)
- c# - 如何在使用 HtmlAgilityPack 抓取时识别推文是原创还是转推?
- html - 在悬停时为 HTML 表格边框着色
- rest - Magento 2:如何在其余 api 中添加动态自定义选项
- clickonce - 签名的 ClickOnce 应用程序给出“无法验证发布者”
- postgresql - 将字符串分数转换为浮点数
- corda - 指定附件目录
- android - 如何列出Android中当前加载的驱动程序(命令知道正在运行的驱动程序)?
- java - 如何在 Android 库模块中使用振动器