我正尝试从文件路径创建一个regex模式来表示部件号,如下所示
\\D6-DC\Users$\name\Profile\Desktop\New folder\XXX-XX-XX-XXX OP1 RAN.NC
这里XXX-XX-XX-XXX
是我想提取的字符串,OP后面的数字有时会改变,RAN可能不总是存在,文件位置也会改变。
任何帮助都将不胜感激
我不是很擅长正则表达式,昨天花了将近2个小时来弄明白这个,我得到的最接近的是(?:.(?!\\))+$
,它捕捉到了路径的末端,但是我一辈子都想不出如何把这个范围缩小到只输出特定的字符串。
2条答案
按热度按时间cqoc49vn1#
如果你的目标是提取“XXX-XX-XX-XXX”,它有这个特定的结构。首先,你可以分割你的字符串。然后,在最后一部分,你可以提取前13个字符。这里有一个代码片段可以做到这一点。
k5hmc34c2#
您需要一个regexp来捕获最后一个文件夹字符“\”和该位置后的第一个空格之间的字符串。
1.匹配所有字符,直到最后一个文件夹字符(您必须使用两个\来转义它):第一个月
1.然后捕捉所有不是空间的东西:
([^\ ]+)
完整答案:
要查看其实际操作:https://regex101.com/r/VBJmaP/1