我正在尝试删除它们之间没有空格的方括号,但保留方括号。例如:
[
请]
[
帮助我]
注意:我想仅匹配括号,而不是内容。
我认为我需要使用前瞻,例如\\[(?!= )
。但是,这只是向前看下一个字符,而我想检查方括号之间的所有字符都不是空格。在这种情况下该怎么办?
答案 0 :(得分:3)
regex
的新版本可能对您有用,它有一个很好的小部件可用于测试stringr::str_view_all(c("[please]", "[help me]"), "(\\[)\\S*(\\])")
匹配。
[
匹配]
,然后匹配任意数量的非空格字符,然后[
,]
和stringr::str_replace_all(c("[please]", "[help me]"), "\\[(\\S*)\\]", "\\1")
#> [1] "please" "[help me]"
作为捕获组。我不确定你想用它们做什么。
更新:要删除括号,您实际上想要捕获内部的内容,然后用它替换。
CONFIG_RTL8192CU=m
(捕获括号中的所有非空格字符,并将整个字符串替换为找到的捕获位置)