日期:2014-05-17  浏览次数:20998 次

求一个正则表达式,分解“汽车品牌+零件”(已经写了一部分)
字符串构成:“汽车品牌+零件”。例如:
字符串1:奥迪轮胎
字符串2:奇瑞前挡风玻璃
字符串3:吉利雨刷
字符串4:雪铁龙排气管
字符串5:斯柯达发动机

假定汽车品牌除了“雪铁龙”和“斯柯达”以外,都是两个字。
零件的长度不确定,可能比较长。
只有中文,并且没有任何空格。

现在要求用正则表达式将汽车品牌和零件区分开。

“汽车品牌”的正则表达式很容易写:
^(斯柯达|雪铁龙|\w{2})

那么怎样提取出“零件”的部分呢?
我尝试过:
(?<=^(斯柯达|雪铁龙|\w{2}))\w*$
不行,居然会将 \w{2} 优先,导致无法匹配“斯柯达”这样三个字的品牌。

并且,不能利用“汽车品牌”得出的字符串参与后面的正则表达式,要用纯粹的正则表达式求解出零件部分。

求各位帮帮忙吧。
正则表达式

------解决方案--------------------
(?<=^(斯柯达
------解决方案--------------------
雪铁龙
------解决方案--------------------
(?!斯柯达
------解决方案--------------------
雪铁龙)\w{2}))\w+