[英]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][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.