繁体   English   中英

正则表达式RegularExpressionValidator

[英]Regex RegularExpressionValidator

对不起,如果已经回答了这个问题,但是我在这里找不到。 我知道它的可能,但是对Regex的了解非常有限。 我有一个ASP.NET项目,我想检查值的前两个字符是否以GYBTJE开头,如果是,则触发验证失败。

目前,我的RegularExpressionValidator中包含以下内容:

/^(?i)[GY]{2}|^(?i)[BT]{2}|^(?i)[JE]{2}/

任何帮助将不胜感激。

谢谢乔恩

这应该可以解决问题

string strRegex = @"/^(?i)[GY]{2}|^(?i)[BT]{2}|^(?i)[JE]{2}/";

Regex re = new Regex(strRegex);
if (re.IsMatch(inputString))
    return (true);
else
    return (false);

请记住, []是一个范围,并且没有规定字符应出现的顺序。 所以:

[GY]{2}不仅要匹配所需的“ G​​Y”,还要匹配“ GG”或“ YY”。 尝试这个:

/^(GY|BT|JE)/

简单的任务-使用正则表达式^(GY|BT|JE)^(?:GY|BT|JE)

<script  runat="server">
  sub submit(sender As Object, e As EventArgs) 
    if Page.IsValid then 
      lbl.Text="OK"
    else 
      lbl.Text="NOT OK"
    end if
  end sub
</script>

<!DOCTYPE html>
<html>
  <body>
    <form runat="server">Enter text here:
      <asp:TextBox id="txtbox1" runat="server" />
      <br /><br />
      <asp:Button text="Submit" OnClick="submit" runat="server" />
      <br /><br />
      <asp:Label id="lbl" runat="server" />
      <br />
      <asp:RegularExpressionValidator 
        ControlToValidate="txtbox1"
        ValidationExpression="^(GY|BT|JE)"
        EnableClientScript="false"
        ErrorMessage="Error"
        runat="server" />
    </form>
  </body>
</html>

我不确定我是否理解正确,但是我想你的表达是:

/^(GY|BT|JE)/

这将匹配以GY或BT或JE开头的所有值。

如果您希望以其他方式允许所有不以BY或BT或JE开头的字符串,则应为

/^(?<!(GY|BT|JE)).*/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM