用于从 STEP 捕获组的正则表达式
Regex to capture groups from 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($,$,#293,#291); Group1: REPRESENTATION_RELATIONSHIP; Group2: $,$,#293,#291
Match: ADVANCED_BREP_SHAPE_REPRESENTATION('',(#29),#277); Group1: ADVANCED_BREP_SHAPE_REPRESENTATION; Group2: '',(#29),#277
我是正则表达式的新手,想出了这个模式:
(\b[A-Z\d]*[_[A-Z\d]*]*)(\((.*?)\))
有点用,但例如只会匹配:ADVANCED_BREP_SHAPE_REPRESENTATION('',(#29)
而不是 ADVANCED_BREP_SHAPE_REPRESENTATION('',(#29),#277)
感谢您的帮助。
您可能会使用
#\d+[(=](\w+)\((.*?)\)[;A-Z]
说明
#\d+[(=]
匹配 #,1+ 位和 (
或 =
(\w+)
捕获组 1,匹配 1+ 个单词字符
\(
匹配 (
(.*?)
捕获组2,尽可能少的匹配任何字符
\)[;A-Z]
匹配 )
后跟 ;
或字符 A-Z
我得到了用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
我是正则表达式的新手,想出了这个模式:
(\b[A-Z\d]*[_[A-Z\d]*]*)(\((.*?)\))
有点用,但例如只会匹配:ADVANCED_BREP_SHAPE_REPRESENTATION('',(#29)
而不是 ADVANCED_BREP_SHAPE_REPRESENTATION('',(#29),#277)
感谢您的帮助。
您可能会使用
#\d+[(=](\w+)\((.*?)\)[;A-Z]
说明
#\d+[(=]
匹配 #,1+ 位和(
或=
(\w+)
捕获组 1,匹配 1+ 个单词字符\(
匹配(
(.*?)
捕获组2,尽可能少的匹配任何字符\)[;A-Z]
匹配)
后跟;
或字符 A-Z