gpt4 book ai didi

javascript - 如何从 "^pearl(pig|hog)+$"获取匹配的输出?

转载 作者:行者123 更新时间:2023-12-02 17:08:30 25 4
gpt4 key购买 nike

如何从 ^pearl(pig|hog)+$ 获取匹配的输出

var test1 = "pearlhogpigpighog";    // this string should match
var test2 = "pigpighogpearlpig"; // this string shouldn't match
var regex1 = /^pearl(pig|hog)+$/; // thought this should work
var regex2 = /(pig|hog)/g; // gives correct output on test1 but accepts test2
test1.match( regex1 ); // output: pearlhogpigpighog,hog
test2.match( regex1 ); // output: null
test1.match( regex2 ); // output: hog,pig,pig,hog
test2.match( regex2 ); // output: pig,pig,hog,pig

http://jsfiddle.net/9mz23/5/

我想要的是 test1hog,pig,pig,hog 和 test2 的 null

最佳答案

你可以通过这样做来实现这一点

var test1 = 'pearlhogpigpighog';

var groupedMatches = test1.match(/^pearl((?:pig|hog)+)$/);

if (groupedMatches) {
console.log(groupedMatches[1].match(/pig|hog/g));
}

就像 @zx81 所说,目前您无法在一个正则表达式中完成此操作。

关于javascript - 如何从 "^pearl(pig|hog)+$"获取匹配的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25032023/

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