我有以下正则表达式,它在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
发布于 2010-10-28 18:42:47
我会把这些集合中的最后一个连字符作为第一个字符:
Before:
[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]
After:
[-A-Za-z0-9!#$%&'*+/=?^_`{|}~]连字符将允许一定范围的字符。如果它是集合中的第一个字符,它将被视为连字符。否则,它可以表示“从'~‘到']'”。
但是,如果没有一个确切的问题,就很难准确地回答。
EDIT:我在simple JavaScript RegEx tester上测试了这个表达式,我发现它是为了匹配电子邮件地址。在我将双反斜杠\\替换为单反斜杠\后,它对我起作用了。
在JavaScript中,以下两个功能应该是相同的:
var re = /a\.c/;
var re = new RegExp("a\\.c"); 但是第二个需要双反斜杠,因为它包含在一个字符串中,这需要转义。如果所有其他方法都失败了,请检查Mozilla Developer Center。
但是,再说一次,如果没有一个确切的问题,就不可能给出一个准确的答案。更重要的是,当你试图改进你的问题时,你更有可能找到你的bug。
发布于 2010-10-28 17:29:34
正则表达式在每种编程语言中略有不同,请参考手册/文档。
https://stackoverflow.com/questions/4041482
复制相似问题