gpt4 book ai didi

regex - 需要帮助理解这个特定的正则表达式 [^.]

转载 作者:行者123 更新时间:2023-12-01 06:56:15 25 4
gpt4 key购买 nike

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

我正在学习正则表达式,并且正在尝试解析它。

[^.] ^ 表示“不”,点是表示任何字符的通配符,所以这意味着找到“不是任何字符”的匹配项?我还是不明白这一点。谁能解释一下?

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

我得到\.,表示句号。

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

[^.] 等同于 DOS 中的 * 吗?

最佳答案

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

[^.] 表示“任何不是文字 . 字符的字符”。 [^.]+ 匹配一个或多个不是点的字符。

来自 regular-expressions.info :

In most regex flavors, the only special characters or meta-characters inside a character class are the closing bracket (]), the backslash (\), the caret (^), and the hyphen (-). The usual meta-characters are normal characters inside a character class, and do not need to be escaped by a backslash. Your regex will work fine if you escape the regular metacharacters inside a character class, but doing so significantly reduces readability.

关于regex - 需要帮助理解这个特定的正则表达式 [^.],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24464644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com