我为此尝试过使用Google,但尚未找到解决方案。
假设我从字符串"aaabbccd"
开始。然后,我通过添加一些特殊字符来修改它:
"aa[ab]bccd"
"aa[a[b]bc]cd"
"[aa[a[b]bc]cd]"
在修改字符串时,我想对其进行正则表达式匹配,但不使用字符[
和]
。例:
对于输入字符串
String s = "aa[ab]bccd"
s.matches(<my_regex_here>) // trying to match "bbc" should return true
s = "aa[a[b]bc]cd";
s.matches(<my_regex_here>) // trying to match for "abb" should return true
我尝试使用负前瞻,但如果我的理解正确,那么只有当我知道要排除的字符的确切位置时,它才起作用。有什么建议吗?
答案 0 :(得分:2)
可以这样
s.replaceAll("\\[", "")
.replaceAll("\\]", "")
.matches(<my_regex_here>)