如何使用正则表达式完成它?

时间:2015-03-13 22:52:05

标签: regex

我想在java中使用正则表达式来匹配这样的模式:

  
    

listare D:\ Programe \ NetBeans \ Proiecte NetBeans \ PATema3Ex2

  

我试过了,我可以想出这样的事情:

^(listare)\\s[A-Z][:]((\\\\)((([a-zA-Z]+)|([0-9]+))|(([a-zA-Z]+)([0-9]+)+)|(([0-9]+)([a-zA-Z]+))+))+$

此外,是否可以编辑此正则表达式,使其接受像"!@#$%^&*()_+[]{}"这样的符号作为文件夹名称中的字符?如您所见,我想要匹配的是目录的路径。

3 个答案:

答案 0 :(得分:1)

使用:

^(listare)\s[A-Z]:(\\([^\\]+))+$

*添加到[^ \\]您的被阻止类型

请参阅: regexr.com

答案 1 :(得分:0)

将以下内容放入RegexBuddy中,对我来说似乎很好..

listare D:\\Programe\\NetBeans\\Proiecte NetBeans\\PATema3Ex2

希望这有帮助!

答案 2 :(得分:0)

这对我有用:^listare ([A-Z]:(?:\\[a-zA-Z]+[a-zA-Z0-9 ]*)+)the playground

第1组匹配组是:D:\Programe\NetBeans\Proiecte NetBeans\PATema3Ex2

它符合文字" listare"然后是一个大写(驱动)字母,然后是":"字符,然后它匹配一个或多个"子目录"组,即:反斜杠" \",后跟一个或多个大写/小写字符,后跟任意数量的上/下低位/数字字符< - 在这里,您可以更改它以添加所需的标点字符。