【问题标题】:Interpretation of [^] and []*in regex expression? [duplicate]正则表达式中 [^] 和 []* 的解释? [复制]
【发布时间】:2020-08-20 03:35:33
【问题描述】:

我有一个包含某些位置的地址数据的字符串向量,并且想删除方括号中包含的所有信息。

address <- "[Market Street Food Centre]50, Market Street, Golden Shoe Multi-Storey Car Park, 2nd/3rd Storey, S(048940);[Berseh Food Centre]166, Jalan Besar, S(208877); [Dunman Food Centre]271, Onan Road, S(424768)"

解决方法如下:

remove_names <- gsub(pattern = "\\[[^][]*\\]", "", address)

输出:

[1] "50, Market Street, Golden Shoe Multi-Storey Car Park, 2nd/3rd Storey, S(048940);166, Jalan Besar, S(208877); 271, Onan Road, S(424768)"

但是,我不理解正则表达式的某些部分。更具体地说,[^][]* 是什么意思?

【问题讨论】:

标签: r regex gsub


【解决方案1】:
\\[[^][]*\\]
\\[      \\]  Matching outer [ and ]
   [   ]      A character set
        *     That charset repeated 0 or more times
    ^         Invert the set that follows
     ][       Set of two characters (square brackets)

目标似乎是删除任何带括号的字符串。但是,由于括号可能是嵌套的,括号之间的文本仅限于非括号。

【讨论】:

    猜你喜欢
    • 2023-03-12
    • 2013-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-29
    • 2012-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多