如果字符串中有-或~或=或任何特殊字符,则这个Regex会中断。基本上,我想删除第一个字母(即a),并删除最后下划线之后的所有内容。(RegEx必须是一个班轮),例如,测试器链接REV1.docx&o=i
(?<=a)[\w ]+(?=_)
aPersonal防护Equipment_REV2.docx -为该字符串工作(结果是个人防护设备)
但是,以下字符串aFreight转发器标准操作过程- Armenia_REV1.docx失败(结果为rmenia)
发布于 2018-02-21 15:22:15
(^.*?(?=a)a)|_[^_]*$
上面的RegEx起作用(替换和忽略案例)
asomefile_(rw_340-v4) follow up by_ver2.xlsx
结果:somefile_(rw_340-v4) follow up by
发布于 2018-01-18 13:41:53
改变这种模式似乎是为了解决破折号的问题:
(?<=a)[\w\-=~ ]+(?=_)
我的测试用例:
aPersonal保护性Equipment_REV2.docx aFreight转发器标准操作规程- Armenia_REV1.docx aFreight转发器~~标准Operating=程序- Armenia_REV1.docx
\w
与单词匹配。破折号是一个词界..。为了保存它,你也必须匹配它。
你可能会考虑
(?<=^a).+?(?=_.+?$)
而不是。如果要一次匹配多个项目,则需要多行模式。
这个字符将匹配第一个字符和最后一个下划线之间的任何字符。
https://stackoverflow.com/questions/48322666
复制相似问题