2013-09-10 4 views
1

Я пытаюсь создать регулярное выражение, которое соответствует цитаты, но не две кавычки подряд, так:Regexp-матч ", но не„“

' --> match, 
'' --> no match and 
''' --> match the last ' 

Я пробовал:

(?<!')' 

но это не сработало ...

Спасибо вперёд!

ответ

3

Может попробовать это:

(?<!')(?:'')*(')(?!') 

regex101 demo

+0

матч не должен быть привязан к началу строки ... Я обновлю свой вопрос – philipp

+0

@philipp Как насчет этого регулярного выражения? Вместо этого я использовал негативные образы. – Jerry

+0

, что один, похоже, делает эту работу! Спасибо ... – philipp

0

Вы можете использовать это регулярное выражение, чтобы соответствовать последней кавычки (одинарные или двойные):

"((['\"]){2})*\\2" 

Код:

String repl = "'''".replaceAll("((['\"]){2})*\\2", "$1:"); //=> '': 
Смежные вопросы