Регулярное выражение для извлечения текста или между квадратными или между фигурными скобками

Связанный с моим предыдущим вопросом, у меня есть строка на следующем формате:

this {is} a [sample] string with [some] {special} words. [another one]

Что регулярное выражение состоит в том, чтобы извлечь слова или в квадратных или в фигурных скобках, т.е.

{is}
[sample]
[some]
{special}
[another one]

Примечание: В моем варианте использования не могут быть вложены скобки. Я также хотел бы сохранить символы включения, так, чтобы я мог сказать различие между ними при обработке результатов.

5
задан Community 23 May 2017 в 12:11
поделиться

2 ответа

Просто или (|) различные вещи, которые вы хотите сопоставить вместе:

\[. *?\]|\{.*?\}

7
ответ дан 14 December 2019 в 01:06
поделиться

Кажется, этот работает:

[[{].*?[}\]]

Или этот:

\[.*?\]|{.*?}

Если вы хотите поймать случаи, упомянутые в комментариях ниже.

Вы можете использовать онлайн-тестер регулярных выражений, чтобы попробовать эти вещи. Я думаю, что http://gskinner.com/RegExr/ - один из наиболее удобных вариантов.

2
ответ дан 14 December 2019 в 01:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: