正则表达式中 [^] 和 []* 的解释?
Interpretation of [^] and []*in regex expression?
我有一个包含特定位置地址数据的字符串向量,我想删除方括号中包含的所有信息。
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)"
但是,我不理解正则表达式的某些部分。更具体地说,[^]
和 []*
是什么意思?
\[[^][]*\]
\[ \] Matching outer [ and ]
[ ] A character set
* That charset repeated 0 or more times
^ Invert the set that follows
][ Set of two characters (square brackets)
目标似乎是删除任何带括号的字符串。但是,由于括号可能会嵌套,所以括号之间的文本仅限于 non-brackets.
我有一个包含特定位置地址数据的字符串向量,我想删除方括号中包含的所有信息。
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)"
但是,我不理解正则表达式的某些部分。更具体地说,[^]
和 []*
是什么意思?
\[[^][]*\]
\[ \] Matching outer [ and ]
[ ] A character set
* That charset repeated 0 or more times
^ Invert the set that follows
][ Set of two characters (square brackets)
目标似乎是删除任何带括号的字符串。但是,由于括号可能会嵌套,所以括号之间的文本仅限于 non-brackets.