字谜可以用正则表达式处理

问题描述 投票:0回答:2

这是我的要求

const input = 'abcadbca';
const required = 'bca';

输入包含 3 种可能的字谜:

abc
bca
bca
; 这都是可以用
regexp
选择的吗? 我试过了,但没有结果:

const str = 'abcadbca';
const reg = str.match(/(a|b|c)/g);

console.log(reg);

结果期望:

[a,b,c,][b,c,a],[b,c,a]
; 结果应该是
[a,b,c],[b,c,a]
- 前 2 场比赛是重叠的,所以第一场比赛被用于帐户。

javascript arrays regex regex-group
2个回答
1
投票

没有

正则表达式不会制定各种字谜。

注意

您的要求和期望不同。也许你可以更清楚地解释你的家庭作业问题?给你的原始措辞是什么?


0
投票

由于您事先知道构成您期望的字谜的字符,正如您的

required
常量已经包含字符
b
c
a
所指示的那样,您可以构建一个包含每个字符的正则表达式在一个子模式中,期望它在以下 3 个字符之一中具有前瞻模式:

const str = 'abcadbca';
console.log(str.match(/(?=.{0,2}b)(?=.{0,2}c)(?=.{0,2}a).{3}/g));

这输出:

abc
bca
© www.soinside.com 2019 - 2024. All rights reserved.