Regex从步骤中捕获组
我得到了STEP文件(可以读取为文本),它是用EXPRESS编写的 该文件看起来像:Regex从步骤中捕获组,regex,step,Regex,Step,我得到了STEP文件(可以读取为文本),它是用EXPRESS编写的 该文件看起来像: #14(REPRESENTATION_RELATIONSHIP($,$,#293,#291)REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#12)SHAPE_REPRESENTATION_RELATIONSHIP()); #35=MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',#180,888
#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]*[[u[A-Z\d]*]*)(\(.*))
这有一点效果,但例如将只匹配:ADVANCED_-BREP_-SHAPE_表示法(“”,(#29)
而不是ADVANCED_-BREP_-SHAPE_表示法(“”,(#29),#277)
谢谢您的帮助。您可以使用
#\d+[(=](\w+)\((.*?)\)[;A-Z]
解释
匹配#,1+位和#\d+[(=])
或(
=
捕获组1,匹配1+个单词字符(\w+)
匹配\(
(
捕获组2,尽可能匹配任何字符(.*)
匹配\)[;A-Z]
后接)
或字符A-Z;
#\d+[(=](\w+)\((.*?)\)[;A-Z]
解释
匹配#,1+位和#\d+[(=])
或(
=
捕获组1,匹配1+个单词字符(\w+)
匹配\(
(
捕获组2,尽可能匹配任何字符(.*)
匹配\)[;A-Z]
后接)
或字符A-Z;
可能是这样的
\d+[(=](\w+)(.*)\[;A-Z]
是的,就是这样。非常感谢。可能是这样的\d+[(=](\w+)(.*)\[;A-Z]
是的,就是这样。非常感谢。