【问题标题】:Regex to find a value after a specific word with Google App Script正则表达式使用 Google App Script 在特定单词后查找值
【发布时间】:2019-02-22 14:12:14
【问题描述】:

我有一个字符串,我编写了以下代码从中提取“NewUsers19”。

function getNoOfUsers() {

  var noSpace = "UserRejectedOrderCount25NewUsers19FundedNewUsers14DepositAmount($)43165.23DepositCount75WithdrawAmount($)53510";
  var regex = /(?:NewUsers)([0-9]+)/;
  var value = regex.exec(noSpace);
  return value;
  
}

正则表达式在在线编辑器中运行良好,但我不知道为什么它在 Google App Script 中不起作用。任何帮助将不胜感激。

【问题讨论】:

  • 您需要19 还是整个NewUsers19?请注意,您针对 noSpace 运行了正则表达式,但 string 包含预期的匹配项。
  • 是的,我需要 19 个。即使我得到 NewUsers19 也很好
  • 好吧,我觉得和GAS有关,必须去掉非捕获组,然后打印value[1]

标签: regex google-apps-script


【解决方案1】:

你应该删除非捕获组,然后返回value[1]

function getNoOfUsers() {
  var noSpace = "UserRejectedOrderCount25NewUsers19FundedNewUsers14DepositAmount($)43165.23DepositCount75WithdrawAmount($)53510";
  var regex = /NewUsers([0-9]+)/;
  var value = regex.exec(noSpace);
  return value ? value[1] : "";
}

在 Google 文档中测试:

【讨论】:

    猜你喜欢
    • 2022-08-18
    • 1970-01-01
    • 2022-07-14
    • 1970-01-01
    • 2017-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多