当前位置:  开发笔记 > 编程语言 > 正文

用于连字符的正则表达式

如何解决《用于连字符的正则表达式》经验,为你挑选了1个好方法。

我在段落中用连字符分隔了我想要提取的单词.

我试过跟随正则表达式\w+-\w,但是这没有按预期工作.

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

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

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



1> Tushar..:

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

((?:\w+-)+\w+)

    (?:\w+-)+:匹配一个或多个字母数字字符,包括下划线符号后跟连字符.(?:将使它不会添加到捕获的组中

    \w+:匹配一个或多个字母数字字符,包括下划线符号

    ():捕获小组.可以使用捕获组编号的$n位置来访问匹配项n.$1在这种情况下,因为它是第一个捕获组.

    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('
' + JSON.stringify(matches, 0, 4) + '
');
推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有