2016-05-26 3 views
0

У меня есть следующая строка:Regex: матч СПЕЦИФИКИ в скобках

Character (ccdd) 

С-х и d's необходимы для глупого дизайна причины. Я хочу, чтобы выделить Кассиопеяне и d's специально, так что

а) соответствует «сс» и б) соответствует «дд»

с требованием, чтобы он соответствовал только если он находится в скобках.

Но я просто не понимаю. Единственное, что мне удалось сделать до сих пор:

(?<=\()[c]+?(?=\)) 

Редактировать: Дальнейшее разъяснение. Мне нужно применить два отдельных стиля к c и ds в круглых скобках в InDesign. Поэтому я ищу два выражения регулярных выражений, которые соответствуют всем c в круглых скобках и соответствуют всем ds.

Любая идея?

Спасибо!

+0

Вы можете подтвердить одно: - проверить, где '\ G' работает в indesign? – rock321987

+0

['(? <= \ ([^()] *) C + (? = [^()] * \))'] (Http://regexstorm.net/tester?p= (% 3f% 3c% 3d% 5c (% 5b% 5e()% 5d *) c% 2b (% 3f% 3d% 5b% 5e()% 5d *% 5c)) & i = Character + (ccdd)) - если поддерживаются образы бесконечной ширины. –

+0

Я не совсем понимаю, что вы хотите сделать. Всегда ли строка, которую вы хотите совместить '(ccdd)'? Тогда вы можете использовать это как литерал. –

ответ

2

Поскольку бесконечные lookbehind и \G не поддерживаются, я предлагаю воспользоваться взломом: просто проверяйте, следует ли с s или d с закрывающей круглой скобкой.

Использование

c+(?=[^()]*\)) 

и

d+(?=[^()]*\)) 

Это хак будет работать, если круглые скобки хорошо сбалансированы, и если нет вложенных скобок.

+0

Последние версии поддержки InDesign '\ K'. Может ли это использоваться в качестве альтернативы вашему решению '\ G'? (Я не знаю, что делает '\ G', но это звучит примерно одинаково.) – usr2564301

+0

' \ K' пропускает весь текст в буфере совпадений. Если '\ K' поддерживается,' \ G' (соответствует началу строки или концу предыдущего совпадения). Он может быть сопоставлен с некоторым шаблоном, подобным ['(?: \ (| (?! ^) \ G) [^()] *? \ Kc + (? = [^()] * \))'] (Https: //regex101.com/r/lI9hW9/1). –

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

  • Нет связанных вопросов^_^