Regex 需要帮助了解此特定正则表达式[^。]

Regex 需要帮助了解此特定正则表达式[^。],regex,Regex,我正在学习正则表达式,并试图解析它 [^.]^表示“不”,而点是一个通配符,表示任何字符,因此这意味着查找与“不包含任何字符”匹配的字符?我还是不明白。有人能解释一下吗 加号是Kleene加号,意思是“1或更多”。所以现在是“一个或多个”“不是任何字符” 我得到了\。,它意味着一个周期 (txt | html)表示与txt文件或html文件匹配。我想我明白加号后的一切。我不明白的是,为什么它看起来不像DOS的等价物,我可以这样做:*.txt或*(txt | html),其中*表示以文件扩展名.t

我正在学习正则表达式,并试图解析它

[^.]^表示“不”,而点是一个通配符,表示任何字符,因此这意味着查找与“不包含任何字符”匹配的字符?我还是不明白。有人能解释一下吗

加号是Kleene加号,意思是“1或更多”。所以现在是“一个或多个”“不是任何字符”

我得到了
\。
,它意味着一个周期

(txt | html)表示与txt文件或html文件匹配。我想我明白加号后的一切。我不明白的是,为什么它看起来不像DOS的等价物,我可以这样做:*.txt或*(txt | html),其中*表示以文件扩展名.txt或.html结尾的所有内容

点(
)在字符类中没有特殊意义,不需要转义

[^.]
表示“非文字
字符的任何字符”<代码>[^.]+匹配一个或多个非点字符

发件人:

在大多数正则表达式中,字符类中唯一的特殊字符或元字符是右括号(
]
)、反斜杠(
\
)、插入符号(
^
)和连字符(
-
)。通常的元字符是字符类中的普通字符,不需要用反斜杠转义。如果转义字符类中的常规元字符,正则表达式可以正常工作,但这样做会显著降低可读性


[]
字符类中不是特殊的<代码>[^.]+表示任何非点字符的一次或多次出现(
+

如果执行
*.txt
操作,则该正则表达式将无效,因为
*
不会获得要重复的字符(零次或多次)

[^.]+\.(txt|html)