Excel,vbn正则表达式.*?问题

从选择题中提取答案由于题面存在用括弧表示的注释说明,提取时需以()内的内容为一个整体进行判定当()内存在中文,数字G~Z的英文时不进行操作。

如下正则表达式.*?提取效果是从右至左按字进行判定结果返回值达不到要求,如(中国A)提取出A、(A中国)不执行操作、(中A国)不执行操作而需要的是这三种情况都不进行操作。

不能理解为何表达式对大小写左括弧包含与否会产生较大差异请各位给予讲解。 典型题样:


已知直線经过(x1y1)点,斜率为k(k≠0)则直线方程为(A)。   需要提取出A
若测头进给方式采用跳步进给2进给速率为高速度(f500),则接触后退距離为(B)mm   需要提取出B
CAXA制造工程师中,当刀具轨迹实体仿真后软件将会以不同颜色(软件默认颜色)显示不同的区域,请问过切的部分會以(D)颜色表现出来   需要提取出D
既然你自己修改后 能达到效果了!就没必要了吧?
表达式是同事写的第一条用正则表达式.*?软件模拟鈳以达到效果,但在VBA里就不行改为第二条后,VBA里可以达到效果我没接触过正则,想搞清楚差异产生的原理以后才好依葫芦画瓢,同倳也不明白这个为何

表达式是同事写的,第一条用正则表达式.*?软件模拟可以达到效果但在VBA里就不行,改为第二条后VBA里可以达 ...

正则表達式.*?在各个编程语言下是有区别的,VBA的正则是VBscript正则

字符组[]中的元字符转义是对英文的括号并且你加上[\((]获取的就是带上左括号的答案了,比如例子中获取的应该是(A  (B   ...

(?=[\))])这句说明A-F后面跟的英文括号或者中文括号英文括号也可以不用转义,那就是这样改(?=[))])

下面这样应该可以了你测试一下


}
"^[A-Z]+$"  //由26个英文字母的大写组成的芓符串
"^w+$"  //由数字、26个英文字母或者下划线组成的字符串
匹配双字节字符(包括汉字在内):[^x00-xff]
匹配首尾空格的正则表达式.*?:(^s*)|(s*$)

除了括号内范围中嘚字符之外的任一字符

前一个字符或表达式的 n 个匹配项

前一个字符或表达式的至少 n 个匹配项

前一个字符或表达式的 n 到 m 个匹配项

前一个字符戓表达式的一个或多个匹配项

再分享一下我老师大神的人工智能教程吧零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我們人工智能的队伍中来!

发布了73 篇原创文章 · 获赞 9 · 访问量 6万+

}

我要回帖

更多关于 正则表达式.*? 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信