我试图进行以下匹配,但结果并未如预期返回true:
String attrs = "id|fullname|email|title";
String regex = "fullname|email";
return attrs.matches(regex);
然而它返回了false。
为什么会这样呢?我本以为attrs中的|管道字符会被按照ASCII字符进行解释,而regex中的|管道字符会按照正则表达式进行解释(也就是OR)。
我问这个问题是因为我正在编写一个应用程序,其中我让用户使用attr1|attr2|attr3|...格式来设置属性,我想通过将其与可能的属性值进行匹配来验证他/她的输入:attr1|attr2|attr3|... |attr[n]。
感谢您的帮助,
ktm
通过以下方式使其正常工作:
String regex = "id.*|fullname.*|email.*|title.*";
String attrs = "fullname|email";
return attrs.matches(regex);