gpt4 book ai didi

javascript - js正则表达式从包含星号的字符串中提取字符串

转载 作者:行者123 更新时间:2023-11-30 07:41:53 24 4
gpt4 key购买 nike

我有一个看起来像这样的字符串:

**********3600 - $20.00

我只需要从中提取 3600。我无法专门搜索 3600,因为字符串是动态的,而且我无法根据位置进行提取,因为字符串开头可能有不同数量的星号。所以我需要一个正则表达式,它会在最后一个星号之后立即提取四个字符,但我真的不太擅长正则表达式,而且由于星号是正则表达式中的保留字符,我不知道如何转义它。谁能帮忙?

最佳答案

你可以这样做:

str.match(/^\**(\d+)/)

结果(如果有)将位于返回数组的索引 1 中。在继续获取数字之前,您可能需要检查返回的结果是否为 null

假设

请注意,此解决方案假定字符串 任意数量的 * 开头(我允许数字从开头开始的情况),后跟一个序列您要提取的数字(至少一位)的数量。

说明

/^\**(\d+)/
    开头和结尾的
  • / 是 JavaScript 文字 RegExp 的分隔符。
  • ^ 匹配字符串的开头
  • \* 匹配文字 *,因为 * 在正则表达式中具有特殊含义。紧随其后的 * 使其匹配 0 个或多个星号 * 实例。
  • (\d+):\d匹配一个数字(从0到9),+表示重复一次或多次。 () 生成了一个捕获组,这样我们就可以提取这个正则表达式匹配的内容(正如你在上面看到的,当你引用返回数组的索引 1 时号码)。

关于javascript - js正则表达式从包含星号的字符串中提取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15344817/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com