说我有regex1
和regex2
。我想将regex1
应用于text1
,然后将regex2
应用于结果。在没有使用java方法两次的情况下有没有办法呢?
我知道我能做到
text1 = text1.replaceAll(regex1,””).replaceAll(regex2,””);
但是有没有办法在一个方法调用中完成所有操作?像
text1 = text1.replaceAll(regex1+"|"+ regex2,””);//this of course does not work
答案 0 :(得分:1)
无法自动将两个链式replaceAll(regex,"")
合并为一个replaceAll(regex,"")
。
原因示例:"bob".replaceAll("o","").replaceAll("bb","")
。
如果第一个b
移除o
,则第二个仅移除"bob".replaceAll("o|bo*b","")
个。{/ p>
您可以手动合并它们,因为您可以看到它们可能会如何互动,例如export interface QueryTypeFactory<T> {
new () : T;
}
,但无法合并两个任意正则表达式。