gpt4 book ai didi

c# - asp.net 和 javascript 中的正则表达式语法是否相同?

转载 作者:太空狗 更新时间:2023-10-30 01:22:55 25 4
gpt4 key购买 nike

我的问题如题。如果两种语法不同,那么如何将 asp.net 中的正则表达式转换为 javascript。

非常感谢任何人的回答。

编辑:我有正则表达式来测试这样的电子邮件地址:

"((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))"

它在 .net 中运行良好。但是当我模拟正则表达式并在 javascript 中使用时:

new RegeExp(regex).test(email);

它抛出一个语法错误:

SyntaxError: Invalid regular expression

那么我如何在 javascript 中使用那个糟糕的正则表达式呢?

最佳答案

它们是不同的。要测试它如何在 JavaScript 中运行,您可以执行以下操作:

Regex.IsMatch("input", "regex", RegexOptions.ECMAScript)

在 .NET 中,这将使其非常等效。如果可以,请通过它运行一些代码。这将帮助您确定它们的工作方式是否相同。

为了在 JavaScript 的 RegEx 实现中编写和测试,我强烈推荐 http://regexpal.com/它 100% 在浏览器中运行,甚至为您实时突出显示。

关于c# - asp.net 和 javascript 中的正则表达式语法是否相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12506312/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com