()[\]\\.,;:\s@\"]+)*)|(\".-6ren">
gpt4 book ai didi

javascript - JS 正则表达式到 Java,语法问题

转载 作者:行者123 更新时间:2023-12-02 04:09:21 24 4
gpt4 key购买 nike

我有一个大的正则表达式,我在 JavaScript 中使用它来验证电子邮件地址。

/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/

当我尝试在 Java 中使用它们时,出现语法错误。

Unclosed character class near index 154 /^(([^<>()[]\.,;:\s@\"]+(.[^<>()[]\.,;:\s@\"]+)*)|(\".+\"))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA-Z-0-9]+.)+[a-zA-Z]{2,}))$/ ^

我正在使用http://www.regexplanet.com/测试正则表达式。

有什么方法可以转换或转义字符或类似的东西吗?谢谢!

最佳答案

这是作为 Java 字符串文字的 JS 正则表达式:

"(([^<>()\\[\\].,;:\\s@\"]+(\\.[^<>()\\[\\].,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,}))"

anchor (^$) 已被删除,因为调用 matches() 时不需要它们。

\" 之外的所有 \ 均已加倍。

类内的

[ ([]) 需要转义,因此添加了转义 (\\[)。

类内的

. ([]) 不需要转义,因此删除了转义。

类内的

- ([]) 如果放在最后则不需要转义,因此移至末尾。

关于javascript - JS 正则表达式到 Java,语法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33944849/

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