我正在尝试提取子字符串022014-101
从字符串str1
:
str1 = <C:\User\Test\xyz\022014-101\more\stuff\022014\1>
# I dont need the 2nd 022014, only the first occuring one 022014-101
我通常使用split("\\")
并在之后分割字符串\
得到[-5]
'th 项目,但万一我有更多子文件夹,那就不好了...正如您所看到的前 6 位数字022014-101
表示日期加上一些字符(在本例中为-101)。我想我应该使用正则表达式,但是我如何匹配 6 位数字并获取所有内容,直到\
发生。我对正则表达式没有太多经验,有人知道解决方案吗?谢谢。
尝试这个:(?<=\\)[\d]{6}[^\\]*
Example: http://regex101.com/r/qQ0tR3 http://regex101.com/r/qQ0tR3
解释:
(?<=\\) # Lookbehind for a \ (escaped \\)
[\d]{6} # Followed by 6 digits
[^\\]* # Followed by 0+ characters other than a \ (escaped \\)
这将确保您的 6 位数日期紧接在\
并包括直到下一个的所有内容\
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)