Мне нужен RegExp, который распознает слово или несколько слов в кавычках.
[\w] * распознает слово
"[\w\W&& [^ "]] *" распознает несколько слов в кавычках.
(btw, не уверенный, почему \w\W работает, но не простое. (который должен соответствовать всем символам),
Таким образом, как я комбинирую эти два regexp?
Делает "[^"]+"
что Вы хотите? (Соответствуйте двойной кавычке, соответствуйте одному или нескольким символам, которые не удваивают кавычки, затем соответствуют второй двойной кавычке.)
в первую очередь, спасибо.
Ваши ответы действительно помогли - но я заметил, что мой вопрос, возможно, не был достаточно ясен.
Так или иначе из Ваших ответов я закончил с этим regexp:
"[^"] + "| [\w] +
Который распознает Слова и Несколько Слов в Кавычках.
например: то, что является "этой вещью", даст 3 соответствия: первое соответствие: какое второе соответствие: третье соответствие: "эта вещь"
Который является точно, в чем я нуждался. Еще раз спасибо.
Я предпочел бы:
"\s*((?:\w(?!\s+")+|\s(?!\s*"))+\w)\s*"
вместо "[^"]+"
потому что ^"
соответствия все, нет просто \w
(алфавитно-цифровой) символ [a-zA-Z_0-9]
Тем путем Вы соответствуете только \w
символы в кавычках, без конечных пробелов.
" ee eee e ee "
дает Вам в группе (1):
ee eee e ee
Отрицательное предвидение (?!\s+")
здесь, чтобы удостовериться, что я не включаю последние пробелы перед двойной кавычкой;