Означает ли [_ \ s ^ "] подчеркивание и пробел, но не" (цитата) в Regex? - PullRequest
3 голосов
/ 04 апреля 2010

Означает ли [_ \ s ^ "] подчеркивание и пробел, но не" (цитата) в Reg

Я понимаю, что скобки ([]) означают диапазон символов, и это означает, что ^ означает, но не, но мойВопрос в том, можете ли вы сказать [это ^ не так] или мне нужно разделить их на два набора скобок?

Ответы [ 4 ]

8 голосов
/ 04 апреля 2010

^ является особенным только в начале класса персонажа. Вы даже можете написать, [^^], чтобы сказать, "не карет".

Нет причин совпадать с "подчеркиванием или пробелом, но не с "", потому что при сопоставлении подчеркивания или пробела вы уже гарантированно не соответствует " Возможно, вы хотите сказать что-то вроде «все заглавные буквы, кроме Q». В этом случае проще всего использовать поддиапазоны: [A-PR-Z].

1 голос
/ 04 апреля 2010

Это означает подчеркивание, пробел, каретку или двойные кавычки. Как отметил Марсело, каретка является особенной, только если это первый символ в скобках.

но мой вопрос, можете ли вы сказать [это ^ не то] или я должен разделить их на два набора Кронштейны?

Вы должны разделить их на два набора. [this][^that] что, конечно, будет означать "a t, h, i или s, за которым следует любой символ, кроме t, h или a"

0 голосов
/ 04 апреля 2010

Как отмечали другие, ^ означает отрицание только в том случае, если это первый символ в наборе.

Конструкция, такая как [ABC^DEF], для выражения A, B или C, но не DEF неимеет смысл.Если это A, B или C, это не может быть D, E или F, поэтому часть выражения является избыточной.Если у вас есть символы, существующие в обоих блоках, вы можете упростить это: [this^notthat] => [is], удалив любой символ в части "this", который также существует в части "that".

При работе с более крупными последовательностями вещи могутбыть немного более запутанным.

0 голосов
/ 04 апреля 2010

Нет, ^ имеет эффект отрицания, только если он входит в первый класс персонажа. Например: [abc^] соответствует "^" Кроме того, - в конце класса символов означает «соответствие -»: [\w-] соответствует «abc-def»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...