Понимание регулярного выражения [\s\S-[<>]]*

У меня есть это регулярное выражение: [\s\S-[<>]]*

Не могли бы вы помочь мне понять, что означает это выражение? Из того, что я вижу, это означает класс символов, состоящий из пробелов и диапазона от непробельных символов до <или>?

Это не имеет особого смысла..

Спасибо!

1 ответ

Решение

Этот вариант поддерживается только несколькими механизмами регулярных выражений (.NET, JGSoft, XML Schema и XPath, но не, например, собственным регулярным выражением Java), и называется вычитанием класса символов.

Например,

[A-Z-[EFG]]

соответствует любому письму от A в Z Кроме E, F или же G,

Но в вашем случае это не имеет особого смысла, потому что [\s\S] соответствует любому символу - тот же результат (в любой форме регулярного выражения) может быть достигнут

[^<>]*
Другие вопросы по тегам