简体   繁体   中英

Understanding the regex [\s\S-[<>]]*

I have this regex: [\\s\\S-[<>]]*

Could you please help me understand what does this expression stand for? From what I see it means a character class formed of spaces and a range from non-space characters to < or >?

It doesn't make much sense..

Thanks!

This is a variant only supported by a few regex engines (.NET, JGSoft, XML Schema and XPath but not for example native Java regex), and it's called character class substraction .

For example,

[A-Z-[EFG]]

matches any letter from A to Z except E , F or G .

But in your case, it really doesn't make much sense because [\\s\\S] matches any character - the same result (in any regex flavor) can be achieved by

[^<>]*

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM