2016-11-14 2 views
0

Мне нужна помощь в формировании регулярного выражения java для удаления скобок при запуске и завершении запроса ldap. случаи оно имеет для покрытия являются:RegEx для удаления скобок Начало и конец

1) (|(GROUP=temp1)(GROUP=temp2)(GROUP=temp3)(GROUP=temp4)) 
    to -> (GROUP=temp1)(GROUP=temp2)(GROUP=temp3)(GROUP=temp4) 

basically, remove brackets starting and ending if only Pipe (|) symbol is present.. 

2) (GROUP=temp1) or (Group=*) -> should not do any changes 

помощь высоко оценили

+1

Вы пробовали использовать это: http://www.regexplanet.com/advanced/java/index.html? – Brydenr

+0

Я использую \ ((. +) \), Но он заменяет (GROUP = temp1) или (Group = *) на GROUP = temp1 и Group = *, которые я не хочу ... мне нужно выполнить только тогда, когда это строка (|) в регулярном выражении. Может быть, строка содержит это. – marc

ответ

0

Вы можете попробовать что-то вроде этого, и сохранить только вторую группу:

(\(\|)(?<=\(\|)(.*)(\))(?<=\)\)) 

Демо: https://regex101.com/r/1Zlhpd/3

Это также может работать, и сохранить вторую группу:

(\(\|)(.*)(\)) 

Демо: https://regex101.com/r/1Zlhpd/4

+0

спасибо Ibrahim..и работал .. – marc

+0

@marc Добро пожаловать – Ibrahim

Смежные вопросы