我有以下正则表达式在JAVA代码中正常工作
[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?\\.)+[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?
但同样不适用于Java脚本
任何人都可以告诉我这个解决方案
感谢Sunny Mate
答案 0 :(得分:2)
我将这些集合中的最后一个连字符作为第一个字符:
Before:
[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]
After:
[-A-Za-z0-9!#$%&'*+/=?^_`{|}~]
连字符将允许一系列字符。如果它是集合的第一个字符,它将被视为连字符。否则,它可能意味着“从'〜'直到'''”
但是,如果没有一个确切的问题,很难准确回答。
修改强>:
我在simple JavaScript RegEx tester上测试了这个表达式,我发现它的目的是匹配电子邮件地址。在我用单个\\
替换双反斜杠\
后,它对我有用。
在JavaScript中,以下两个应该相同:
var re = /a\.c/;
var re = new RegExp("a\\.c");
但是第二个需要双反斜杠,因为它被包含在一个字符串中,这需要转义。如果所有其他方法都失败了,请检查Mozilla Developer Center。
但是,如果没有一个确切的问题,就不可能给出准确的答案。更重要的是,当你试图改善你的问题时,你更有可能找到你的错误。
答案 1 :(得分:0)
正则表达式在每种编程语言中略有不同,请参考手册/文档。