繁体   English   中英

正则表达式不起作用C#

[英]regex not working C#

我有一个文本框的形式。 我想在文本框中输入路径(例如:D:\\ temp),然后在此创建路径。 我试图使用此正则表达式,但无法正常工作! 我希望第一个字母大写,但不起作用。 我也希望字符串仅包含一次“:”和“ \\”。 在“:\\”之后,我想插入一些小写的字符串@“ ^ [AZ] [:] [\\] [az] $”有一些建议吗? 非常感谢 !

我相信您要寻找的正则表达式是

@"^[A-Z]:\\[a-z]+$"

您的有两个问题。 首先,您没有定界反斜杠,所以它定界了[],这意味着您要在冒号后精确地找到一个],[或a到z。 第二个问题是您想在反斜杠后找到一个或多个字母,因此需要使用+。 最后,冒号和反斜杠不必成组。

试试这个正则表达式:[AZ]:\\ [az] +。 然后尝试^ [AZ]:\\\\ w + $

在您的代码中这样声明您的正则表达式:

string myRegex = @"[A-Z]:\\[a-z]+"

这样,您仅验证路径(例如D:\\ Temp),而不验证D:\\ Temp \\ Temp2

首先,有关应通过或不通过的示例会有所帮助。

其次,使用Expresso或Regex Fiddle之类的工具来帮助编写正则表达式,以解释正在发生的事情。

现在,开始讨论这个问题。 这是一个示例/^[AZ]:\\\\[az]+$/gm http://refiddle.com/refiddles/5792227f75622d3df0480300

  • ^-它与行首匹配
  • [AZ]-匹配一个大写字母
  • :-匹配一个冒号
  • \\-转义反斜杠以匹配反斜杠
  • [az] +-匹配小写字母(“ +”表示1次或多次)
  • $-匹配行尾

编辑:添加了检查以确保文件夹的第一个字符是大写字母/^[AZ]:\\\\[AZ][az]+$/gm http://refiddle.com/refiddles/5792259075622d3df05e0300

您可以尝试以下方法:

[RegularExpression("^("[A-Z][a-z]+$)",
ErrorMessage = "Please Enter Correct Name")]

描述

  • ^字符串开头
  • [ ]括号指定一组字符
  • AZ az所有大写/小写字母
  • 考虑一个空间
  • +一个或多个字母
  • $表示字符串的结尾

暂无
暂无

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

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