匹配大写或小写字符串正则表达式

Matching uppercase or lowercase string Regex

本文关键字:字符串 正则表达式      更新时间:2023-09-26

我需要匹配电子邮件的最后一部分,我使用Regex。

使用以下"[a-zA-Z0-9._-]+@abc.com$"可以正常工作,但我希望地址的最后一部分是大写或小写。

以便与

等变量匹配
john@abc.co.com
john@ABC.CO.com
john@Abc.co.com

作为可能的场景…换句话说,所有大小写的变化

我如何改变模式来适应这个

使用i标志来忽略大小写。

这里有一些更多的信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#Description

要使regex不区分大小写,请添加i标志:

   /[a-z0-9-'.'-]+@abc.com$/i

作为一种替代选项,您可以使用:

^[a-zA-Z0-9._-]+@[Aa][Bb][Cc]('.[Cc][Oo])?'.[Cc][Oo][Mm]$

它不会忽略第一部分的大小写。在@)之前,根据你的正则表达式它不匹配。co.com它只匹配。com

通过这种方式,您可以在敏感的

中使用部分大小写。解释

添加i标志,使匹配不区分大小写。下面是一个工作示例:

var addresses = [
    'john@abc.co.com',
    'john@ABC.CO.com',
    'john@Abc.co.com',
];
var pattern = /[a-z0-9._-]+@abc'.co'.com$/i;
for(i=0,l=addresses.length; i<l; i++) {
    console.log(pattern.test(addresses[i]));
}

在这里进行测试https://regex101.com/r/wdgUFZ/2