用于验证路径的正则表达式

时间:2016-04-06 04:23:52

标签: regex regular-language

如何编写在C#

中传递以下条件的正则表达式

\ segment \ segment \

a)每个段以反斜杠开头和结尾

b)段可以是字母数字,带有破折号,下划线和句点允许(例如\ some-name \ some.other_name \)

c)序列可以重复最多100次(基本上只允许100个段)

3 个答案:

答案 0 :(得分:2)

这个怎么样:

(?<=\\)[A-Za-z\-\.]+(?=\\)

选择反斜杠中提到的任何字符组合?不选择反斜杠。

答案 1 :(得分:2)

您可以尝试以下操作:

Regex myRegex = new Regex("^\\(?:[\w\-.]+\\){1,100}$");

正则表达式从匹配&#39; \&#39;开始,然后匹配字母,数字,下划线,连字符,点数一次或多次,以&#39; \#39;结尾。它最终重复了这一次到100次。

此版本支持unicode路径名。

答案 2 :(得分:1)

以下是扩展正则表达式(ERE)。在方括号之间添加任何其他允许的字符(特别是我相信空格可能是您想要的字符,确保 - 留在最后):

^(\\[\w.-]+){1,100}\\$

(在纠正代码中的错误后,生成的代码与上面的答案相同哈哈!)