如何背靠背应用两个正则表达式

时间:2016-12-02 03:02:55

标签: java regex

说我有regex1regex2。我想将regex1应用于text1,然后将regex2应用于结果。在没有使用java方法两次的情况下有没有办法呢?

我知道我能做到

text1 = text1.replaceAll(regex1,””).replaceAll(regex2,””);

但是有没有办法在一个方法调用中完成所有操作?像

text1 = text1.replaceAll(regex1+"|"+ regex2,””);//this of course does not work

1 个答案:

答案 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; } ,但无法合并两个任意正则表达式。