如何解决正则表达式从STEP捕获组
我得到了用EXPRESS编写的STEP文件(可以阅读为文本)。
文件如下:
#14(REPRESENTATION_RELATIONSHIP($,$,#293,#291)REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#12)SHAPE_REPRESENTATION_RELATIONSHIP());
#35=MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',#180,888.125521);
#25=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#29),#277);
#186=AXIS2_PLACEMENT_3D('',#270,#230,#231);
我想使用正则表达式来获得类似的信息:
Match: REPRESENTATION_RELATIONSHIP($,#291); Group1: REPRESENTATION_RELATIONSHIP; Group2: $,#291
Match: ADVANCED_BREP_SHAPE_REPRESENTATION('',#277); Group1: ADVANCED_BREP_SHAPE_REPRESENTATION; Group2: '',#277
我是Regex的新手,并提出了以下模式:
(\b[A-Z\d]*[_[A-Z\d]*]*)(\((.*?)\))
这有点用,但是例如它将匹配:ADVANCED_BREP_SHAPE_REPRESENTATION('',(#29)
而不是ADVANCED_BREP_SHAPE_REPRESENTATION('',#277)
谢谢您的帮助。
解决方法
您可以使用
#\d+[(=](\w+)\((.*?)\)[;A-Z]
说明
-
#\d+[(=]
匹配#,1 +位数字和(
或=
-
(\w+)
捕获组1,匹配1个以上的字符字符 -
\(
匹配(
-
(.*?)
捕获组2,尽可能匹配任何字符 -
\)[;A-Z]
匹配)
,后跟;
或字符A-Z
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。