RegEx, выберите все, что не в скобках - PullRequest
4 голосов
/ 20 мая 2010

В RegEx, как бы я выбрал все, что не в скобках:

* 1003 Е.Г. *

Xxxxxxx (01010101) вернется Xxxxxxx?

Спасибо!

Ответы [ 3 ]

3 голосов
/ 20 мая 2010

Для существующего образца это будет делать:

(.+) \(
1 голос
/ 20 мая 2010

Используйте \([^)]*\) в качестве разделителя, либо в split, либо в java.util.Scanner и т. Д., Либо просто используйте его для замены на "".

В Java:

    System.out.println(Arrays.toString(
        "abc(xyz)def(123)".split("\\([^)]*\\)"))
    ); // prints "[abc, def]"
    System.out.println(
        "abc(xyz)def(123)".replaceAll("\\([^)]*\\)", "")
    ); // prints "abcdef"
0 голосов
/ 20 мая 2010

В Python:

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

предоставит эту функцию при условии, что парены никогда не будут вложенными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...