gpt4 book ai didi

regex - "[[]]"在正则表达式中是什么意思?

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

[[]] 是什么意思在正则表达式中是什么意思?

$ echo '[][]' | grep -oE '[[]]'
[]
[]
$ grep --version
grep (GNU grep) 2.10

嗯,看来匹配 [] .
(字符序列 [] ,而不是 [] 。)
(我已经用 python 的 re 模块对其进行了测试,结果相同。)
真的吗?
如果是这样,为什么?

我知道我是否想匹配 [] ,我应该写 [][][[\]] .
(它们在 PCRE 中工作,grep 支持 [][] 但不支持 [[\]],因为 \ 在 grep 的括号表达式中失去了特殊含义。)
我只是感到好奇。

最佳答案

表达式 [[]]实际上由两个连接的子表达式组成:[[]] .

  • [[]是仅匹配 [ 的字符类人物。有[只有在字符类的最开始才有可能。
  • ]如果在字符类之外,它只是一个普通字符。

  • 两者都是连接的,因此您的表达式匹配 [ 的任何字符后跟 ] ,结果匹配 [] .

    关于regex - "[[]]"在正则表达式中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12420139/

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