gpt4 book ai didi

java - 在 Java 正则表达式中转义点序列会抛出异常

转载 作者:行者123 更新时间:2023-11-29 06:39:30 24 4
gpt4 key购买 nike

我正在尝试做一个简单的正则表达式,在部分中搜索一些字符等,包括查找 . 文字。但是,Pattern 编译器说它无效。

以下是抛出格式异常的完整正则表达式的摘录。转义看起来是正确的,它只是将 . 视为不应转义的内容。

([a-zA-Z0-9_-\.\s]{1,})
^

我也尝试过 "([a-zA-Z0-9_-\\\\.\\s]{1,})" (与上面相同,但有两个 \ 来转义 .) 但运气不好。

我在互联网上可以找到的所有用于转义点字符的资源都表明这应该有效。

我错过了什么?

最佳答案

问题不在 . 中,而是在它之前的 - 中。试试 "([a-zA-Z0-9_\\-.\\s]{1,})"

- 是字符类 [...] 中的元字符。它指定了字符范围,例如 [a-z] 可以匹配 Unicode 表中 az(含)之间的字符。如果您在不可能将其视为范围运算符的地方使用它,例如在字符类 [-...] [...-] 的开头或结尾处code> 它将被视为普通字符,因此在这种情况下您不必转义它。否则,您需要在它之前使用 \ 将其更改为简单文字。

关于java - 在 Java 正则表达式中转义点序列会抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14207547/

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