【发布时间】:2013-02-12 16:10:30
【问题描述】:
我想建立一个正则表达式替换一些字符串来搜索,所以这些字符串需要在我可以将它们放入正则表达式之前进行转义,这样如果搜索的字符串包含正则表达式字符它仍然可以工作.
某些语言具有可以为您执行此操作的函数(例如 python re.escape: https://stackoverflow.com/a/10013356/1900520)。 R有这样的功能吗?
例如(组成函数):
x = "foo[bar]"
y = escape(x) # y should now be "foo\\[bar\\]"
【问题讨论】:
-
你能添加一个示例字符串以及你希望输出的样子吗?
-
大多数正则表达式函数都有一个名为 'fixed' 的参数,如果设置为 TRUE 将导致模式按原样匹配。
-
这不好 - 我想根据用户提供的输入构建一个正则表达式 - 所以我需要“清理”输入但仍然使用正则表达式。
-
我确定我刚才看到了一个很好的答案,但它已经消失了......
-
与Dason的回答有关,另见stringr::fixed()