我有这样一个路径:如何用正则表达式获得前一个单词?
C:\ Development.TFS \ Examn \ R4分支\网络\ OrganisationManager \主题\蓝色\ CSS
我需要一个正则表达式得到了这个词“蓝色“。我试过了,但还没有找到解决方案。它实际上是从该字符串的最后一个单词之前得到该单词。 请帮忙, 谢谢
我有这样一个路径:如何用正则表达式获得前一个单词?
C:\ Development.TFS \ Examn \ R4分支\网络\ OrganisationManager \主题\蓝色\ CSS
我需要一个正则表达式得到了这个词“蓝色“。我试过了,但还没有找到解决方案。它实际上是从该字符串的最后一个单词之前得到该单词。 请帮忙, 谢谢
(\w+)\W+\w+$
匹配倒数第二个单词,将其捕获到反向引用编号中。 1,然后匹配一个或多个非单词字符,然后匹配最后一个单词,然后匹配EOL。
如果你真的不希望实际的话,但路径元素匹配(即使它们包含非字字符),然后
([^\\:]+)\\[^\\]+$
可能做得更好。
编辑:添加:
到“倒数第二个字的组”,因此正则表达式也可以处理相对路径。
如果(eregi( '主题\\(即[az] +)\\ CSS',$主题)){ #匹配成功 }其他{ #匹配尝试失败 }
一个PHP例如让单词blue。
也许你必须尝试正则表达式的朋友 这是一个伟大的工具,使正则表达式 – Marco 2010-01-29 11:20:45
难道你不能简单地使用字符'\'拆分字符串,然后得到splitResult [splitResult.Count-1]?
你总是可以替换“\”在你的环境中的路径分隔符,更一致的结果
另一种选择:
(\w+)\\\w+$
我发布这个和删除,因为OP的路径中的“单词”可以包括非'\ W'字符像'-',''','空格'等 – Amarghosh 2010-01-27 08:43:09
你应该说明你所使用的语言。 – ghostdog74 2010-01-27 08:26:44