问题描述:

In RegEx, how would I select anything thats not in brackets:

E.g.

Xxxxxxx (01010101) would return Xxxxxxx ?

Thanks!

网友答案:

For the existing sample, this will do:

(.+) \(
网友答案:

Use \([^)]*\) as a delimiter, either in split, or a java.util.Scanner, etc, or just use it to replace with "".

In Java:

    System.out.println(Arrays.toString(
        "abc(xyz)def(123)".split("\\([^)]*\\)"))
    ); // prints "[abc, def]"
    System.out.println(
        "abc(xyz)def(123)".replaceAll("\\([^)]*\\)", "")
    ); // prints "abcdef"
网友答案:

In Python:

import re
def removeparens(inputstring):
    return re.sub(r"\([^)]*\)", "", inputstring)

will provide this functionality under the condition that parens are never nested.

相关阅读:
Top