tags:

views:

47

answers:

3

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

E.g.

Xxxxxxx (01010101) would return Xxxxxxx ?

Thanks!

+1  A: 

For the existing sample, this will do:

(.+) \(
SilentGhost
A: 

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"
polygenelubricants
A: 

In Python:

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

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

Tim Pietzcker