删除它们之间没有空格的方括号

时间:2016-08-29 23:41:55

标签: regex r

我正在尝试删除它们之间没有空格的方括号,但保留方括号。例如:

  • 匹配这些括号并将其删除:[]
  • 请勿与这些括号匹配并将其删除:[帮助我]

注意:我想仅匹配括号,而不是内容。

我认为我需要使用前瞻,例如\\[(?!= )。但是,这只是向前看下一个字符,而我想检查方括号之间的所有字符都不是空格。在这种情况下该怎么办?

1 个答案:

答案 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

(捕获括号中的所有非空格字符,并将整个字符串替换为找到的捕获位置)