如何组合两个正则表达式条件? [英] How to combine two regex conditions?

查看:0
本文介绍了如何组合两个正则表达式条件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试用JavaScript编写与两个条件A和B进行AND运算的正则表达式

(A)(B)显然不是有效的解决方案。

我的两个正则表达式是:

^((?=.*?(.*([.]).*)[^@])[^@]+)$

<2-2]>


所以 ^((?=.*?(.*([.]).*)[^@])[^@]+)(((?!..).)*)$不与两个正则表达式

我怎么能做到这一点?是否有一般规则?

推荐答案

有时,没有明显的方法来组合TO表达式。如您所说,(A)(B)无效。由于正则表达式不是一种编程语言,因此实现您想要的功能的"显而易见的"方法是:

var doesMatch = string.match(/(A)/) && string.match(/(B)/);

如果不花时间真正破译你想要匹配的内容,就很难说出是否有一种不明显的方式来结合这两个表达方式……我只能说,没有一个通用的规则来结合它们。

此外,组合两个正则表达式并不一定意味着它更快。以字符串foo bar和表达式^foobar$为例。这两个表达式的"明显"组合是^foo.*?bar$;然而,^foobar$分别为5步,而组合后的版本为11步。

这篇关于如何组合两个正则表达式条件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆