我需要扩展此正则表达式以删除空格无特征。我们使用asp:RegularExpressionValidator进行ASP.NET验证,因此我不能在它们之间使用replace
方法。
这是我的正则表达式:
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
是代码
<asp:TextBox ID="tbBIEmailAddress" runat="server" CssClass="inpText" MaxLength="50" />
<asp:RequiredFieldValidator id="reqValBIEmail" runat="server" ControlToValidate="tbBIEmailAddress" Display="Dynamic" ValidationGroup="Checkout">*</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator id="regValBIEmail" runat="server" ControlToValidate="tbBIEmailAddress" ValidationGroup="Checkout" ValidationExpression="\^w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$">*</asp:RegularExpressionValidator>
答案 0 :(得分:0)
我知道.Net有可变数量的捕获缓冲区的概念
因此,例如,(asw[^p]+)*
应创建一个捕获缓冲区1对象
将数据存储为数组。
但是,在这种情况下它不会如何反应:(?:([-.]\w+)|\s+)*
显然\s
不在捕获缓冲区的范围内,不应包括在中
第1组捕获缓冲区对象数组。实际上剥离了白色空间
捕获过程。但我没有测试过这个。
我可能会错误地阅读您的问题而且据我所知,您正在使用捕获组进行分组。
<强>加入强>
您的样本可能有拼写错误
这:
"\^w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"
应该是这样的:
"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"
它可能解释你的太空问题,但可能不是。
答案 1 :(得分:0)
尝试以下正则表达式:
^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}$