当前位置: 首页 > 知识库问答 >
问题:

转义正则表达式的正则表达式

臧威
2023-03-14

昨天,我需要向正则表达式添加一个文件路径,创建一个如下所示的模式:

"some_pattern/%s/more_pattern" % some_path

一开始正则表达式不匹配,因为some_path包含几个正则表达式特定的符号,如 .。作为快速修复,我将它们替换为 [?{1} 和 . 与 \..

然而,我问自己,是否没有一种更可靠或更好的方法来清除正则表达式特定符号中的字符串。

  • Python 标准库中是否支持此类功能?
  • 如果没有,您是否知道一个正则表达式来识别所有正则表达式并通过替代品清理它们?

共有1个答案

何骞尧
2023-03-14

只要应用< code>re.escape就可以了。

重新转义(字符串)

返回所有非字母数字反斜杠的字符串;如果要匹配可能包含正则表达式元字符的任意文本字符串,这将非常有用。

 类似资料:
  • 转义字符串以在正则表达式中使用。 使用 String.replace() 来转义特殊字符。 const escapeRegExp = str => str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); escapeRegExp('(test)'); // \\(test\\)

  • 有没有人试图描述与正则表达式匹配的正则表达式? 由于重复的关键字,这个主题几乎不可能在网上找到。 它可能在实际应用程序中不可用,因为支持正则表达式的语言通常具有解析它们的方法,我们可以将其用于验证,以及一种在代码中分隔正则表达式的方法,可用于搜索目的。 但是我仍然想知道匹配所有正则表达式的正则表达式是什么样子的。应该可以写一个。

  • 我正在搜索正则表达式-"。(冲突的副本。"。我为此写了以下代码 但我有个例外 异常在线程"main"中java.util.regex.Pattern Syn的异常:索引15附近的未关闭组。( 我知道编译器认为是模式组的开始。我试图通过添加来逃避),但这不起作用。 有人能告诉我怎么逃走吗?

  • 在 OpenResty 中,同时存在两套正则表达式规范:Lua 语言的规范和 ngx.re.* 的规范,即使您对 Lua 语言中的规范非常熟悉,我们仍不建议使用 Lua 中的正则表达式。一是因为 Lua 中正则表达式的性能并不如 ngx.re.* 中的正则表达式优秀;二是 Lua 中的正则表达式并不符合 POSIX 规范,而 ngx.re.* 中实现的是标准的 POSIX 规范,后者明显更具备通用

  • 一、概述 二、匹配单个字符 三、匹配一组字符 四、使用元字符 五、重复匹配 六、位置匹配 七、使用子表达式 八、回溯引用 九、前后查找 十、嵌入条件 参考资料 一、概述 正则表达式用于文本内容的查找和替换。 正则表达式内置于其它语言或者软件产品中,它本身不是一种语言或者软件。 正则表达式在线工具 二、匹配单个字符 . 可以用来匹配任何的单个字符,但是在绝大多数实现里面,不能匹配换行符; . 是元字

  • 这部分内容可以说是学习shell脚本之前必学的内容。如果你这部分内容学的越好,那么你的shell脚本编写能力就会越强。所以不要嫌这部分内容啰嗦,也不要怕麻烦,要用心学习。一定要多加练习,练习多了就能熟练掌握了。 在计算机科学中,正则表达式是这样解释的:它是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模