javascript - 如何使用正则表达式匹配的返回到另一个正则表达式

标签 javascript regex

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

regex101 demo

关于javascript - 如何使用正则表达式匹配的返回到另一个正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58307357/

相关文章:

javascript - 如何在更改事件中检测 CKEditor 源模式

javascript - 如何使用正则表达式 (RegEx) 提取文本?

r - 在每个单词的开头添加一个字符

c# - 我应该采用哪种方法在 C# 中进行模板化?

regex - Graylog2 流过滤规则

c++ - 正则表达式NFA,用于未定义的 token 顺序

c# - ScriptManagerProxy、UpdatePanel 和纯 JS

javascript - 使用 javascript/jQuery 搜索表格并在单击按钮时返回正确的表格行以及 'search' 栏的内容

javascript - 如何在 Sequelize JS 和 PostgreSQL 中的 1 :M relationship when implementing with . bulkCreate() 中使用外键

Python,从字符串中删除所有非字母字符