gpt4 book ai didi

java - 奇怪的行为 - 从数据库获取的 Java 正则表达式

转载 作者:行者123 更新时间:2023-12-02 05:16:30 26 4
gpt4 key购买 nike

我在数据库中存储了正则表达式 - '\\\\E\\\\',我使用 java 来获取它并将其与字符串匹配。

我认为,由于java从数据库读取,它知道自己转义SQL特殊字符,而我需要的只是转义正则表达式特殊字符,所以这个表达式实际上匹配'\\E\\'.

问题是它使用 '\E\' 而不是 '\\E\\' ,为什么?

最佳答案

如果要使用正则表达式来匹配一个文字反斜杠字符,则需要在 Java 字符串中使用四个反斜杠。

  • 正则表达式 \\ 匹配一个文字反斜杠。
  • 字符串"\\"表示单个反斜杠。
  • 因此,为了构建包含两个反斜杠的正则表达式,您需要一个包含四个反斜杠的 Java 字符串。

所以你需要 "\\\\\\\\E\\\\\\\\" 来构造一个匹配 \\E\\ 的正则表达式...

关于java - 奇怪的行为 - 从数据库获取的 Java 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26902920/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com