正则表达式不工作C#
问题描述:
我有一个窗体中的文本框。我想写在那里的文本框,路径(例如:D:\温度),然后,我想创建此路径。 我试图使用这个正则表达式,但不工作!我想要第一个字母是上面的,但不起作用。另外我希望字符串只包含“:”和“\”一次。 “:\”我想插入一些字符串小写 @“^ [A-Z] [:] [\] [a-z] $” 有一些sugestions? 非常感谢!正则表达式不工作C#
答
试试这个正则表达式:[A-Z]:\ [a-z] +。 然后尝试^ [AZ]:\\ W + $
声明你的正则表达式像这样在你的代码:
string myRegex = @"[A-Z]:\\[a-z]+"
有了这个,你只验证像d路径:\ TEMP,但不是d:\ TEMP \ TEMP2
答
我相信你正在寻找的正则表达式
@"^[A-Z]:\\[a-z]+$"
没有与您的两个问题。首先,你没有分隔反斜杠,所以它是划定],这意味着你正在寻找一个],[或冒号后面的一个通过z。第二个问题是你想在反斜杠后面找到一个或多个字母,所以你需要使用+。最后,冒号和反斜杠不必分组。
答
首先,应该通过或失败的例子会有所帮助。
其次,使用工具来帮助编写解释正在发生的事情的正则表达式,例如Expresso或Regex Fiddle。
现在,就这个问题。这里有一个例子/^[A-Z]:\\[a-z]+$/gm
http://refiddle.com/refiddles/5792227f75622d3df0480300
- ^- 这行
- [AZ]开始匹配 - 匹配单个大写字母
- : - 冒号匹配
- \ - 逃避反斜杠匹配 反斜杠
- [AZ] + - 一个下字母(在+机构1或 更多次)匹配
- $ - 匹配行
编辑结束:增加检查,以确保文件夹中的第一个字符是一个大写字母/^[A-Z]:\\[A-Z][a-z]+$/gm
http://refiddle.com/refiddles/5792259075622d3df05e0300
显示你已经尝试什么,心不是工作。 – Takarii
[a-z]只允许一个小写字符。在它之后添加+以允许1个或更多或使用*为零或更多。你需要用第二个分隔反斜杠,因为它正在分隔]。 – juharr
你的意思是“它不工作”?什么应该工作,什么应该失败?给我们例子! –