【问题标题】:Node.js Parsing A Number Inside a StringNode.js 解析字符串中的数字
【发布时间】:2011-08-11 12:22:42
【问题描述】:

给定一个字符串,如:

Recipient: test@test.com
Action: failed
Status: 5.0.0 (permanent failure)
Diagnostic: No

只有在 Status: 之后,我才能获得“5.0.0”和“永久失败”? ?

谢谢

【问题讨论】:

    标签: regex node.js serverside-javascript


    【解决方案1】:
    var regex = /Status: ([0-9\.]+) \(([a-zA-Z ]+)\)/
    var result = string.match(regex);
    var statusNumber = result[1];
    var statusString = result[2];
    

    如果您希望这些值中包含其他字符,您应该扩展这些:[0-9\.]、[a-zA-Z] 选择器。现在第一个需要数字和点,第二个字符和空格

    【讨论】:

    • 为什么这个正则表达式返回 2 个结果?
    • 另外 ^ 和 $ 不应该在那里
    • @haemse 它返回两个结果,因为其中有两个捕获组。实际上它返回三个,第一个(在索引 0 处)是完整匹配。 ^ 和 $ 不在原始答案中。我删除了它们。谢谢。
    • 我很抱歉似乎 str.match(reg) 返回一个包含所有匹配项的数组,而 reg.exec 返回一个包含一个结果详细信息的数组。还有所有匹配的组。
    猜你喜欢
    • 1970-01-01
    • 2017-11-24
    • 2010-11-07
    • 2016-11-03
    • 2016-07-30
    • 1970-01-01
    • 2020-06-21
    • 2015-01-13
    相关资源
    最近更新 更多