正则表达式字符串比较忽略符号

时间:2014-12-17 15:11:48

标签: javascript regex string equality

我有两个变量:

varAdditionalTeamAddress = ;; MountainWestITSupport@somedomain.com

VariableAddTeamEmails =  ; MountainWestITSupport@somedomain.com;

这两个变量用于连接和收集其他支持团队电子邮件。但是在连接过程中,如果电子邮件是空的,只有分号过来。

我需要比较这两个变量(忽略;)以查看它们是否相等。我们可以编写一个正则表达式来从这个电子邮件字符串中提取所有分号和空格,以便它们具有可比性吗?

与上面一样,如果我通过排除空格和分号来清理它们,那么相等测试将返回TRUE。

正则表达大师,请帮忙。 PS我需要REGEX这样做。

3 个答案:

答案 0 :(得分:2)

你可以这样做:

varAdditionalTeamAddress = varAdditionalTeamAddress.replace(/^[ ;]+/, "");

VariableAddTeamEmails = VariableAddTeamEmails.replace(/^[ ;]+/, "");

从变量的开头删除;和空格的任意组合。

答案 1 :(得分:0)

抱歉压缩代码:

if( 
     VariableAddTeamEmails.match( /\w+@\w+\.\w+/g ).indexOf( 
          varAdditionalTeamAddress.match( /\w+@\w+\.\w+/g )[ 0 ] )  
     ) != -1
){
 // ...
}

我的正则表达式并不是获取地址邮件的最佳方式。 StackOverFlow上有很多主题。

答案 2 :(得分:0)

如果你在使用PowerShell的Windows上,那么你可以这样做

$varAdditionalTeamAddress = ";; MountainWestITSupport@somedomain.com"
$VariableAddTeamEmails = " ; MountainWestITSupport@somedomain.com;"

if ( ($varAdditionalTeamAddress.Trim() -replace '(;+|\s)','') -eq ($VariableAddTeamEmails.Trim() -replace '(;+|\s)','')){
    Write "Email Strings are equal"
}else{
    Write "They Seem to different"
}