我有以下正则表达式在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/

10-13 03:08