您好我需要对此正则表达式使用wih notepad +++
\d{2}-\d{2}|\d{2,4}[+-]
现在它取代了几年
ML 12+ (W166) = ML (W166)
FREELANDER II 07+ = FREELANDER II
Kuga 08-12 = Kuga
CRV 2012+ = CRV
RX270/350 10+ = RX270/350
QASHQAI 2+ = QASHQAI 2+
TRIBECA 05 = TRIBECA
XC60 = XC60
在右侧(在'='之后)我展示它是如何工作的。我需要像这样的相反效果
ML 12+ (W166) = 12
FREELANDER II 07+ = 07
Kuga 08-12 = 08-12
CRV 2012+ = 2012
RX270/350 10+ = 10
QASHQAI 2+ =
TRIBECA 05 = 05
XC60 =
答案 0 :(得分:0)
这是我能想到的最好的:
查找
^.*?(?<digits>\d{2}-\d{2}|\d{2,4}).*?$
替换为:
\1
以下是在线测试:http://regex101.com/r/nY6uE5
它替换所有行OK,但不匹配的行(QASHQAI 2+
)
应用此替换后,您可以通过将^.*[^\d-].*$
替换为空字符串来删除不匹配的行。
更新:好了,现在我理解了数字模式必须以空格开头的要求。正则表达式应该是:
^.*?\s(?<digits>(\d{2}-\d{2})|(\d{2,4})).*?$
答案 1 :(得分:0)
使用
\s(\d+[\-]?)[^+](\d+)?
您可以提取1美元和2美元来获得答案。
如果我错了,请纠正我。
答案 2 :(得分:0)
我的解决方案,但仍需要修复。
查找内容:(.+)(\s\d+)(.+=).+
替换为:$1$2$3 $2
结果几乎完成,但需要修复。
ML 12+ (W166) = 12
FREELANDER II 07+ = 07
Kuga 08-12 = 08
CRV 2012+ = 2012
RX270/350 10+ = 10
QASHQAI 2+ = 2
TRIBECA 05 = 05
XC60 = XC60