Javascript正则表达式,帮助我匹配

Javascript regex, help me with match

本文关键字:帮助 正则表达式 Javascript      更新时间:2023-09-26

伙计们帮我吧。我不知道如何使用regex,我读了很多关于它的文章,但无论如何,我不明白它是如何工作的。

这是我的问题:我有这样的代码:

var str = "<strong>What do you think</strong> if we could just buy this <strong>Robot</strong>"; 
str = str.match(/[<strong>][a-z's]+[<'/strong>]/gi);

代码完成后,我会得到这样的结果:>你觉得如何<,>机器人<

但我等着这个:你觉得怎么样,机器人。

怎么了?它把我逼疯了。

更新:感谢大家!!!现在,找到了解决方案

尝试此regex表达式[updated]

(<strong>(.*?)</strong>)*

如果您不想使用RegExp.exec(),请使用以下命令:

var matches = str.match(/<strong>.*?<'/strong>/gi);
var result = [];
for (var i = 0; i < matches.length; ++i)
    result.push(matches[i].match(/<strong>(.*)<'/strong>/i)[1]);

在大多数(现代)regex方言中都是这样做的

.*?(?<=<strong>)(.*?)(?=</strong>).*?|.*

替换为

$1

不幸的是,Javascript不支持lookbacking。如果你愿意,你可以阅读http://blog.stevenlevithan.com/archives/mimic-lookbehind-javascript尝试一下。Pity js不支持这样强大的技术