我有一条像这样的道路:
C:\ Development.TFS \ Examn \ R4-分支\网络\ OrganisationManager \主题\蓝色\ CSS
我需要一个正则表达式来获取“蓝色”这个词。我试过了,但还没有找到解决方案。它实际上是在该字符串的最后一个单词之前得到的单词。 请帮忙, 谢谢
答案 0 :(得分:6)
(\w+)\W+\w+$
匹配倒数第二个字,将其捕获到反向引用号中。 1,然后匹配一个或多个非单词字符,然后匹配最后一个单词,然后匹配EOL。
如果你真的不想要实际单词而是要匹配路径元素(即使它们包含非单词字符),那么
([^\\:]+)\\[^\\]+$
可能会做得更好。
编辑:在“倒数第二个词组”中添加了:
,因此正则表达式也可以处理相对路径。
答案 1 :(得分:1)
你不能简单地使用字符'\'拆分字符串然后得到splitResult [splitResult.Count-1]?
您始终可以使用环境中的路径分隔符替换“\”,以获得更一致的结果
答案 2 :(得分:0)
您应该在字符串中找到此模式:([\w\s.-]+)\\[\w\s.-]+$
。在您的情况下,第一组将包含单词“blue”。正则表达式和访问组的确切语法取决于您的编程语言。
答案 3 :(得分:0)
if(eregi('themes \\([a-z]。+)\\ css',$ subject)){ #成功的比赛 } else { #匹配尝试失败 }
获取单词blue的PHP示例。
答案 4 :(得分:0)
另一种选择:
(\w+)\\\w+$