求助,VBA正则表达式的pattern如何写

  • s
    sz-hiker
    excel单元格内字段如下:散单柜身门装箱(2),自动散单背板装箱(1),散单柜身装箱(7),柜身五金一仓装箱(1),柜身五金二仓装箱(2),散单小板件装箱(1)
    要把含“五金”的内容后面小括号中的数字提取出来,这里有两个五金的内容,分别是1和2,能想到的办法是用正则表达式,先把含“五金”的整句截取出来,比如“柜身五金一仓装箱(1)”,然后通过replace替换,剩下数字1。但是写pattern的时候怎么写都不对
  • w
    wsyx87930
    第一遍
    1. (五金)[^\)]*[0-9]*
    复制代码
    筛选出
    1. 五金一仓装箱(1
    2. 五金二仓装箱(2
    复制代码



    第二遍筛选出
  • s
    sz-hiker
    回复2#wsyx87930

    非常感谢!
  • 1
    11ww22
    不需要正则,只要 if instr 五金>0,then取左括号后开始到倒数第二位的内容即可。
  • s
    sz-hiker
    不太明白,如果单元格内有两个以上的五金,怎么取数呢
  • 1
    11ww22
    回复5#sz-hiker

    那正则算了,不然就对逗号拆分再进行上述操作,也不方便