如何组合两个javascript正则表达式或正则表达式

如何组合两个javascript正则表达式或正则表达式,javascript,regex,Javascript,Regex,我想合并这两个正则表达式 /^[a-z]{2}?[0-9]+$/gi和/^?!。*?[0-9]\1{3}\S+$/gi 像这样的东西/[a-z]{2}?[0-9]+| |?!*?[0-9]\1{3}\S+/gi和这个/[a-z]{2}?[0-9]+&&&?!*?[0-9]\1{3}\S+/gi 所以我需要将上面两个单独的正则表达式组合成一个正则表达式格式 我既需要or | |也需要and& 上述正则表达式代码的实际作用是: 以下是检查,不允许超过3个相同字符: 以下内容仅供检查,开头不超过2个字

我想合并这两个正则表达式

/^[a-z]{2}?[0-9]+$/gi和/^?!。*?[0-9]\1{3}\S+$/gi

像这样的东西/[a-z]{2}?[0-9]+| |?!*?[0-9]\1{3}\S+/gi和这个/[a-z]{2}?[0-9]+&&&?!*?[0-9]\1{3}\S+/gi

所以我需要将上面两个单独的正则表达式组合成一个正则表达式格式

我既需要or | |也需要and&

上述正则表达式代码的实际作用是:

以下是检查,不允许超过3个相同字符:

以下内容仅供检查,开头不超过2个字符,后面只跟数字:

所以我需要将上面两个单独的正则表达式合并到一个正则表达式中 格式

我既需要or | |也需要and&

提前谢谢

操作电流正则表达式: ^?!.*?[0-9]\1{3}\S+$,^[a-z]{1,2}?[0-9]+$

和: 注-最小值是包含两者的子集,是唯一必需的,不允许其他。 在这种情况下,两个正则表达式最小值是^\S+$,^[a-z]{0,2}[0-9]+$ 其中满足这两个条件的子集是^[a-z]{0,2}[0-9]+$

在应用assershun之后,我们发现和regex解析为

^?!*?[0-9]\1{3}[a-z]{0,2}[0-9]+$

或: 注意-每个正则表达式都有自己的特殊性,这使得它很难 合并功能。尽管如此,我们还是有可能将共同点排除在外 满足两者的条件。 每个都需要用一个或元字符|连接。 但是,每种情况都是不同的,我需要有经验的开发人员 寻找可能性

分解后,我们发现OR正则表达式解析为

^?:?!*?[0-9]\1{3}\S+|[a-z]{0,2}[0-9]+$

OP Prev正则表达式: 或^[a-z]{2}?[0-9]+$|[0-9]{4,}


和^[a-z]{2}?[0-9]{4,}$

在您的问题中提供了一些有效和无效的匹配项。很难确切地说出您在这里想要什么。正如阿努巴瓦所提到的,一些例子将是有用的。从严格的逻辑角度来看,如果您同时需要逻辑and和逻辑or,那么它实际上就是逻辑and。你是要10000还是aa0000?aa0应该通过吗?我是dupr supr,和一周前的问题一样。当然,由于每个regx是不同的,它不能只是加入,是的,不是吗?我刚刚更新了我的帖子。你能帮我一下吗?查看新的帖子信息,添加insite
/^(?!.*?([0-9])\1{3})\S+$/gi.test("4444") => false
/^(?!.*?([0-9])\1{3})\S+$/gi.test("11222") => true
/^(?!.*?([0-9])\1{3})\S+$/gi.test("77722") => true
/^(([a-z]{1,2})?([0-9]+))$/gi.test('sj76755') => true
/^(([a-z]{1,2})?([0-9]+))$/gi.test('k4545') => true
/^(([a-z]{1,2})?([0-9]+))$/gi.test('6j53') => false
/^(([a-z]{1,2})?([0-9]+))$/gi.test('653aa') => false
/^(([a-z]{1,2})?([0-9]+))$/gi.test('ss653aa') => false