Мне нужен RegExp, который соответствует слову или нескольким словам в кавычках.
[\ w] * соответствует слову
"[\ w \ W && [^"]] * "соответствует нескольким словам в кавычках.
(кстати, не уверен, почему \ w \ W работает, но не простой. (который должен соответствовать всем символам)
Итак, как мне совместить эти два регулярных выражения?





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