gpt4 book ai didi

javascript - 正则表达式准确找到 4 位数字

转载 作者:行者123 更新时间:2023-12-01 09:44:54 24 4
gpt4 key购买 nike

我有一个类似于下面的文本。它包含一个 4 数字,后跟 digit-whitespace ,后跟 .?-digitwhitespace

我需要匹配第一段中的所有数字,但第二段中没有,因为这些数字不符合我的条件。
Lorem ipsum 3400-digit, sit amet 5000 consectetur adipisicing elit. Natus, explicabo 6700? Itaque iure ipsum laboriosam, ex nemo delectus iste quia cupiditate digit-9134? Iste nam digit-2456 at voluptate est 8456-digit? At excepturi quis voluptatibus 7500.Lorem ipsum $5000 dolor sit amet consectetur adipisicing elit. Obcaecati tempora dolorum repellat reiciendis cum soluta deserunt ex voluptatibus, nam illum veniam £5550 quidem aperiam sequi, nostrum sed? Quidem eveniet maiores #5550 autem. https://codepen.io/pen/5000/3454
StackOverflow 上已经有一些类似的问题。我已经浏览了其中的一些(下面的链接),但我仍然无法做到这一点。请在将此问题标记为重复之前,检查您的解决方案是否在第一段中找到所有出现的 4 位数字,但在第二段中没有找到。

  • regular expression to match exactly 5 digits
  • Regular expression to match integers up to 9 digits
  • RegEx match exactly 4 digits
  • JavaScript: \\d{4} RegExp allows more than 4 digits
  • 最佳答案

    您可以使用以下模式:

    /(?:\bdigit-|\s|^)(\d{4})(?=[.?\s]|-digit\b|$)/gi

    regex demo 。您需要获取所有第 1 组值。

    详情
  • (?:\bdigit-|\s|^) - digit-(作为一个整体)、空格或字符串开头
  • (\d{4}) - 第 1 组:四位数
  • (?=[.?\s]|-digit\b|$) - 紧靠右侧,必须有 . 、空格、?-digit(作为一个整体)或字符串结尾。 注意 如果没有前瞻,连续的以空格分隔的匹配将被忽略。

  • JS 演示:

    var strs = ["Lorem ipsum 3400-digit, sit amet 5000 consectetur adipisicing elit. Natus, explicabo 6700? Itaque iure  ipsum laboriosam, ex  nemo delectus iste quia cupiditate digit-9134? Iste nam digit-2456 at voluptate est 8456-digit? At excepturi quis voluptatibus 7500.", "Lorem ipsum $5000  dolor sit amet consectetur adipisicing elit. Obcaecati tempora dolorum repellat reiciendis cum soluta deserunt ex voluptatibus, nam illum veniam £5550 quidem aperiam sequi, nostrum sed? Quidem eveniet maiores #5550 autem. https://codepen.io/pen/5000/3454" ];
    var rx = /(?:\bdigit-|\s|^)(\d{4})(?=[.?\s]|-digit\b|$)/gi;
    for (var s of strs) {
    var m, res =[];
    while(m=rx.exec(s)) {
    res.push(m[1]);
    }
    console.log(res);
    }

    关于javascript - 正则表达式准确找到 4 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51262823/

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