JS正则表达式到Java,语法问题
JS regex to Java, syntax issues
我有一个很大的正则表达式,我在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中使用它们时,我会遇到语法错误。
索引154/^附近的未闭合字符类(([^<>()[]''.,;:''s@''"]+(.[^<>()[]''.,;:''s@''"]+)*)|(''".+''"
我正在使用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,}))"
锚点(^$
)已被删除,因为在调用matches()
时不需要它们。
除'"
外,所有'
都已加倍。
类([]
)中的[
需要转义,因此添加了转义(''[
)。
类([]
)中的.
不需要转义,因此已删除转义。
类内的-
([]
)如果放在最后,则不需要转义,因此移动到末尾。
我抓取了一些字符,结果是:
/^
(
(
[^<>()'[']''.,;:'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,})
)
$/
regexplanet.com:link
问题似乎是有一些[
未被屏蔽。
无论如何,我鼓励您看到这个问题:什么是最好的java电子邮件地址验证方法
我与所有最终的regex Java电子邮件地址regex验证器
相关文章:
- Onclick不会启动..可能存在javascript语法问题
- 基本对象/原型语法问题
- JQuery代码语法问题?(“不允许内联控制结构”)
- Javascript函数变量传递语法问题
- Jison 语法问题,生成解析器出现奇怪错误
- 使用 jssor 滑块的“空元素的 XML 样式关闭语法”问题
- 代码只是没有执行,可能有语法问题,或者我可能完全错了
- JS语法问题还是使用三个.js三个.循环中的图像加载器
- 反应 - 语法问题
- 语法问题.淘汰赛.用于过滤
- bind()存在奇怪的语法问题
- Javascript For..语法问题
- JavaScript语法问题
- javascript插件中未传递参数,html语法问题
- 数组结构中的字符串出现JSON.parse语法问题
- .createElement('object')和许多params的语法问题
- Javascript语法问题
- 有逻辑或语法问题的for循环
- JS正则表达式到Java,语法问题
- HTML 与内联动态 JavaScript 由 PHP 语法问题编写