regex - 理解正则表达式 [\s\S-[<>]]*

标签 regex

我有这个正则表达式:[\s\S-[<>]]*
你能帮我理解这个表达是什么意思吗?从我看来,这意味着由空格和从非空格字符到 < 或 > 的范围组成的字符类?

意义不大。。

谢谢!

最佳答案

这是一个只有少数正则表达式引擎(.NET、JGSoft、XML Schema 和 XPath,但不支持原生 Java 正则表达式)支持的变体,它被称为 character class substraction .

例如,

[A-Z-[EFG]]

匹配来自 A 的任何字母至 Z除了 E , FG .

但在你的情况下,这真的没有多大意义,因为 [\s\S]匹配任何字符 -
可以通过以下方式获得相同的结果(在任何正则表达式中)
[^<>]*

关于regex - 理解正则表达式 [\s\S-[<>]]*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10738792/

相关文章:

regex - bash 脚本中使用的以下 sed 行的含义

javascript - 使用 Javascript 的正则表达式

java.util.regex.Matcher混淆组

正则表达式:选择空间

javascript - 如何在 Angular Router UI 中使用非捕获组

Java正则表达式匹配多行

Python - 're.sub' ed 字符串在放入 sqlalchemy db.execute 命令时仍然包含特殊字符

python - 切片正则表达式反向引用?诺坎多?

java - 在 String 中使用 ReplaceAll 时出现正则表达式异常

.net - 解析日期格式难以转换