我有两个字符串
String x = "DMXX"; //or DMYY or DMZZ
我想检查平等。
早些时候我就是这样做的
if(x.equals("DMXX") || x.equals("DMYY") || x.equals("DMZZ")){
//Do this and that
}
而不是三个不同的陈述;我想一个人做。
在上面的字符串'DM'将是所有人共同的;只有改变是XX / YY / ZZ。
正则表达式的语法是什么,使它成为一个语句而不是两个?
另外,还有一个问题:Guava或Apache Commons是否有一些功能可以实现相同的功能?
答案 0 :(得分:2)
for( i in value){
//console.log(value[i], i)
var output = '';
var outcome = '';
var str = value[i];
for(j in str){
loopColumns(str[j], function(err,res){
if(outcome=='') outcome= res;
else outcome= outcome+' , '+res;
console.log(outcome);
})
}
var output = i+' : '+outcome+' \n';
console.log('output \n'+output);
};
编辑1:您当然可以将字符if (x.matches("DM(?:XX|YY|ZZ)") {
// Do whatever
}
,DM
,XX
和YY
更改为您需要的内容,并注意ZZ
和朋友不必长度相同。例如,使用XX
和DM1234
,正则表达式DM2
将正常工作。
编辑2-3:正如Sebastian Proske和Boris the Spider评论的那样,并不像教程让我相信的那样,"DM(?:1234|2|ZZ)"
确实匹配正则表达式,就好像它有锚点一样(好像它已经以{开头) {1}}以#{1}}结尾,因此不需要。{1}}这将教会我阅读教程而不是仔细检查。 ^^