Связанный с моим предыдущим вопросом, у меня есть строка на следующем формате:
this {is} a [sample] string with [some] {special} words. [another one]
Что регулярное выражение состоит в том, чтобы извлечь слова или в квадратных или в фигурных скобках, т.е.
{is}
[sample]
[some]
{special}
[another one]
Примечание: В моем варианте использования не могут быть вложены скобки. Я также хотел бы сохранить символы включения, так, чтобы я мог сказать различие между ними при обработке результатов.
Просто или (|
) различные вещи, которые вы хотите сопоставить вместе:
\[. *?\]|\{.*?\}
Кажется, этот работает:
[[{].*?[}\]]
Или этот:
\[.*?\]|{.*?}
Если вы хотите поймать случаи, упомянутые в комментариях ниже.
Вы можете использовать онлайн-тестер регулярных выражений, чтобы попробовать эти вещи. Я думаю, что http://gskinner.com/RegExr/ - один из наиболее удобных вариантов.