我有以下正则表达式在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
最佳答案
我将这些集合中的最后一个连字符作为第一个字符:
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。
但是,同样,如果没有确切的问题,就不可能给出准确的答案。此外,当您尝试改善问题时,很可能会发现错误。
关于javascript - 正则表达式可以在Java代码中运行,但不能在javascript代码中运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4041482/