2008-11-28 2 views
6

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

[\ ш] * соответствует слову

"[\ ш \ W & & [^"]] *»соответствует несколько слов в кавычках.

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

Так как я сочетающие эти два регулярных выражений?

ответ

4

ли "[^"]+" делать то, что вы хотите? (матч двойной кавычки, матч один или более символы, которые не являются двойными кавычками, тогда m ATCH второго двойной кавычки) Я бы предпочел

3

:.

"\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+") здесь, чтобы убедиться, что я не включают в себя последние пробелы перед кавычками;

6

Прежде всего спасибо.

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

Во всяком случае, из ваших ответов я закончил с этим регулярным выражением:

"[^"] + "| [\ ш] +

Каких матчами Слова и несколько слов в кавычках.

например: что такое «эта вещь» даст 3 матча: первый матч: что второй матч: это третий матч: «эта вещь»

Это именно то, что мне нужно. Еще раз спасибо.

+0

+1 намного проще;) Я не получил сначала то, что вы хотели, но я оставляю свой ответ для справки – VonC 2008-11-28 13:23:53

Смежные вопросы