我想匹配"联想 昭阳e280l"(有空格)
正则表达是(?<=(海尔\s?))[\w\u4e00-\u9fa5]*,为什么group[0]为空而group[1]中为“联想+空格”呢?
而改正则表达式在c++和C#中匹配都是"昭阳"。我原意是这样的我想用一个正则表达式匹配"联想 昭阳e280l"(有空格)和"联想昭阳e280l"中的“昭阳”
应该怎么写才对呢?写过大伙了

解决方案 »

  1.   

    错了,正则表达式中是(? <=(联想\s?))[\w\u4e00-\u9fa5]*,
      

  2.   

    "(?<=联想)\\s*([\u4e00-\u9fa5]*)\\s*"
      

  3.   

    参照上面的。
    正则表达式:(?<=(联想\\s?))([\\u4e00-\\u9fa5]*)(?=\\w+)
    group(0)即可求出“昭阳”二字。
      

  4.   

    1.测试数据:"联想 昭阳e280l"(有空格) 
    结果:
    group(0)>>昭阳
    group(1)>>联想 (注:有空格)
    group(2)>>昭阳2.测试数据:"联想昭阳e280l"(没有空格) 
    结果:
    Find group(0)>>昭阳
    Find group(1)>>联想(注:没有空格)
    Find group(2)>>昭阳