Понимание регулярного выражения [\s\S-[<>]]*
У меня есть это регулярное выражение: [\s\S-[<>]]*
Не могли бы вы помочь мне понять, что означает это выражение? Из того, что я вижу, это означает класс символов, состоящий из пробелов и диапазона от непробельных символов до <или>?
Это не имеет особого смысла..
Спасибо!
1 ответ
Решение
Этот вариант поддерживается только несколькими механизмами регулярных выражений (.NET, JGSoft, XML Schema и XPath, но не, например, собственным регулярным выражением Java), и называется вычитанием класса символов.
Например,
[A-Z-[EFG]]
соответствует любому письму от A
в Z
Кроме E
, F
или же G
,
Но в вашем случае это не имеет особого смысла, потому что [\s\S]
соответствует любому символу - тот же результат (в любой форме регулярного выражения) может быть достигнут
[^<>]*