gpt4 book ai didi

javascript - 连字符的正则表达式

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:43:40 24 4
gpt4 key购买 nike

我试图提取的段落中有连字符分隔的单词。

我试过使用正则表达式 \w+-\w,但是它没有按预期工作。

这是用 JavaScript 编写的完整代码。

var string = "time to eval-u-ate";
var result = string.match(/\w+-\w/g); // ["eval-u"]

这将返回字符串 eval-u。我希望结果为 eval-u-ate。如何修改正则表达式以匹配完整的带连字符的单词。

最佳答案

您可以使用以下正则表达式

((?:\w+-)+\w+)
  1. (?:\w+-)+:匹配一个或多个字母数字字符,包括后跟连字符的下划线符号。 (?: 将使其不添加到捕获的组中
  2. \w+:匹配一个或多个字母数字字符,包括下划线
  3. ():捕获组。可以使用 $n 访问匹配项,其中 n 是捕获组编号。 $1 在这种情况下,因为它是第一个捕获组。
  4. g:使用全局标志获取所有可能的匹配

演示

var string = "time to eval-u-ate Lorem ipsum dolor sit amet, consectetur adipisicing elit. A sed, illum veritatis aut recusandae tempora possimus iure totam distinctio necessitatibus temporibus labore-numquam-dignissimos, officiis velit error-dolores nostrum ipsam.";
var matches = string.match(/((?:\w+-)+\w+)/g);

document.write('<pre>' + JSON.stringify(matches, 0, 4) + '</pre>');

Regex101 Demo

关于javascript - 连字符的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34348194/

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