RegExp распознают одно слово или Несколько Слов в Кавычках

Мне нужен RegExp, который распознает слово или несколько слов в кавычках.

[\w] * распознает слово

"[\w\W&& [^ "]] *" распознает несколько слов в кавычках.

(btw, не уверенный, почему \w\W работает, но не простое. (который должен соответствовать всем символам),

Таким образом, как я комбинирую эти два regexp?

6
задан Wiktor Stribiżew 8 October 2019 в 23:37
поделиться

3 ответа

Делает "[^"]+" что Вы хотите? (Соответствуйте двойной кавычке, соответствуйте одному или нескольким символам, которые не удваивают кавычки, затем соответствуют второй двойной кавычке.)

5
ответ дан 8 December 2019 в 17:29
поделиться

в первую очередь, спасибо.

Ваши ответы действительно помогли - но я заметил, что мой вопрос, возможно, не был достаточно ясен.

Так или иначе из Ваших ответов я закончил с этим regexp:

"[^"] + "| [\w] +

Который распознает Слова и Несколько Слов в Кавычках.

например: то, что является "этой вещью", даст 3 соответствия: первое соответствие: какое второе соответствие: третье соответствие: "эта вещь"

Который является точно, в чем я нуждался. Еще раз спасибо.

6
ответ дан 8 December 2019 в 17:29
поделиться

Я предпочел бы:

"\s*((?:\w(?!\s+")+|\s(?!\s*"))+\w)\s*"

вместо "[^"]+" потому что ^" соответствия все, нет просто \w (алфавитно-цифровой) символ [a-zA-Z_0-9]

Тем путем Вы соответствуете только \w символы в кавычках, без конечных пробелов.

" ee eee e ee  "

дает Вам в группе (1):

ee eee e ee

Отрицательное предвидение (?!\s+") здесь, чтобы удостовериться, что я не включаю последние пробелы перед двойной кавычкой;

3
ответ дан 8 December 2019 в 17:29
поделиться
Другие вопросы по тегам:

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