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