Предположим, у меня есть строка
Max and Bob and Merry and {Jack and Co.} and Lisa
.
Мне нужно разделить его так, чтобы and
был разделителем, , но только если он не находится в фигурных скобках.
Итак, из приведенной выше строки я должен получить 5 строк: Max
, Bob
, Merry
, Jack and Co.
, Lisa
.
Я пробовал что-то вроде этого шаблона:
[^\\\{.+]\\band\\b[^.+\\\}]
Но это не работает - Jack
и Co.
тоже разделены (я использую C ++, поэтому мне приходится дважды экранировать специальные символы).
\\band\\b(?![^{]*})
, возможно, потребуется больше экранирования. - person bobble bubble   schedule 11.12.2016R"(
и)"
. Таким образом, можно использовать обратную косую черту напрямую, т.е.R"(\d*)"
- person Meyer   schedule 11.12.2016QRegExp("\\{([^{}]*)\\}")
и 2) разделить с помощью"\\{[^{}]*\\}|\\s*\\band\\b\\s*"
- person Wiktor Stribiżew   schedule 11.12.2016