【发布时间】:2020-09-09 07:25:25
【问题描述】:
我得到了用 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($,$,#293,#291); Group1: REPRESENTATION_RELATIONSHIP; Group2: $,$,#293,#291
Match: ADVANCED_BREP_SHAPE_REPRESENTATION('',(#29),#277); Group1: ADVANCED_BREP_SHAPE_REPRESENTATION; Group2: '',(#29),#277
我是 Regex 的新手,想出了这个模式:
(\b[A-Z\d]*[_[A-Z\d]*]*)(\((.*?)\))
这有点作用,但例如将匹配:ADVANCED_BREP_SHAPE_REPRESENTATION('',(#29) 而不是 ADVANCED_BREP_SHAPE_REPRESENTATION('',(#29),#277)
感谢您的帮助。
【问题讨论】:
-
可能是这样的
#\d+[(=](\w+)\((.*?)\)[;A-Z]regex101.com/r/2wi3ji/1 -
是的,就是这样。非常感谢。