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

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

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

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

Спасибо!

Ответы

Ответ 1

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

Например,

[A-Z-[EFG]]

соответствует любой букве от A до Z кроме E, F или G.

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

[^<>]*