Java / scala正则表达式将与插入符号表示的特殊字符不匹配

三倍体

我有一个正则表达式,所有的合法字符都经过精心选择并转义,但是它仍然无法捕获任何非法字符,例如:$&etc:

val result = "http://example.com?re#k2$si".replaceAll("""[^0-9a-zA-Z!-_\.\*'\(\)]+""","/")
assert(url === "http/example.com/re/k2/si")

但结果是:

TestFailedException:“ http [://example.com?re#k2 $] si”不等于“ http [/example.com/re/k2/] si”

这里发生了什么?

罗宾

在字符类内部,您需要-通过将文字放在类的末尾或开头来对文字进行转义否则将创建字符范围。

您忘记这样做了!-_,因此创建了从ASCII代码33到95的较大范围,现在这些:/?$字符也陷入了否定字符类中。

另外,请注意,字符类中的元字符并不相同,您可以删除一些无用的转义

尝试:

[^0-9a-zA-Z!_.*'()-]+

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java正则表达式以匹配特定的特殊字符

来自分类Dev

当末尾有特殊字符时,在线工具上的正则表达式匹配在Java中不匹配

来自分类常见问题

分割不包含与Java中的正则表达式匹配的相邻字符的字符串

来自分类Dev

Java:正则表达式不匹配

来自分类Dev

正则表达式在Java中不匹配

来自分类Dev

Java正则表达式不匹配

来自分类Dev

Java正则表达式不匹配

来自分类Dev

Java:正则表达式不匹配?

来自分类Dev

Java Unicode正则表达式与德语字符不匹配

来自分类Dev

Java Unicode正则表达式与德语字符不匹配

来自分类Dev

Java正则表达式匹配字符串

来自分类Dev

正则表达式以匹配Java字符串

来自分类Dev

Java正则表达式匹配越南字符

来自分类Dev

与正则表达式匹配的Java字符串

来自分类Dev

Java:替换匹配正则表达式中的字符

来自分类Dev

java-在字符串中匹配正则表达式模式(列出匹配和不匹配的部分)

来自分类Dev

Java正则表达式匹配

来自分类Dev

Java正则表达式匹配

来自分类Dev

在正则表达式JAVA中使用模式匹配器时如何获取剩余的不匹配字符串?

来自分类Dev

Java正则表达式不匹配,正则表达式看起来还可以

来自分类Dev

为什么带有换行符的字符串与Java中的正则表达式不匹配?

来自分类Dev

如何使用Java正则表达式匹配既不包含A也不包含B的字符串?

来自分类Dev

Java正则表达式匹配法国浮点数不匹配空格

来自分类Dev

Java正则表达式解析带有特殊字符和数字的字符串

来自分类Dev

Java字符串用单词,空格和特殊字符分隔正则表达式

来自分类Dev

Java String Split on任何字符(包括正则表达式特殊字符)

来自分类Dev

Java String Split on任何字符(包括正则表达式特殊字符)

来自分类Dev

返回字符串中的Java正则表达式特殊字符

来自分类Dev

Java正则表达式匹配单词或标点符号

Related 相关文章

  1. 1

    Java正则表达式以匹配特定的特殊字符

  2. 2

    当末尾有特殊字符时,在线工具上的正则表达式匹配在Java中不匹配

  3. 3

    分割不包含与Java中的正则表达式匹配的相邻字符的字符串

  4. 4

    Java:正则表达式不匹配

  5. 5

    正则表达式在Java中不匹配

  6. 6

    Java正则表达式不匹配

  7. 7

    Java正则表达式不匹配

  8. 8

    Java:正则表达式不匹配?

  9. 9

    Java Unicode正则表达式与德语字符不匹配

  10. 10

    Java Unicode正则表达式与德语字符不匹配

  11. 11

    Java正则表达式匹配字符串

  12. 12

    正则表达式以匹配Java字符串

  13. 13

    Java正则表达式匹配越南字符

  14. 14

    与正则表达式匹配的Java字符串

  15. 15

    Java:替换匹配正则表达式中的字符

  16. 16

    java-在字符串中匹配正则表达式模式(列出匹配和不匹配的部分)

  17. 17

    Java正则表达式匹配

  18. 18

    Java正则表达式匹配

  19. 19

    在正则表达式JAVA中使用模式匹配器时如何获取剩余的不匹配字符串?

  20. 20

    Java正则表达式不匹配,正则表达式看起来还可以

  21. 21

    为什么带有换行符的字符串与Java中的正则表达式不匹配?

  22. 22

    如何使用Java正则表达式匹配既不包含A也不包含B的字符串?

  23. 23

    Java正则表达式匹配法国浮点数不匹配空格

  24. 24

    Java正则表达式解析带有特殊字符和数字的字符串

  25. 25

    Java字符串用单词,空格和特殊字符分隔正则表达式

  26. 26

    Java String Split on任何字符(包括正则表达式特殊字符)

  27. 27

    Java String Split on任何字符(包括正则表达式特殊字符)

  28. 28

    返回字符串中的Java正则表达式特殊字符

  29. 29

    Java正则表达式匹配单词或标点符号

热门标签

归档