-6

Maya ASCII ファイルには、次のような命令行が含まれています。

...
createNode transform -n "pCylinder1";
createNode mesh -n "pCylinderShape1" -p "pCylinder1";
    setAttr ".vif" yes;
    setAttr ".uvst[0].uvsn" -type "string" "map1";
createNode transform -n "pPlane1";
    setAttr ".t" -type "double3" 7.3666236108700112 0 -4.2288466031573595 ;
createNode mesh -n "pPlaneShape1" -p "pPlane1";
    setAttr ".uvst[0].uvsn" -type "string" "map1";
    setAttr ".cuvs" -type "string" "map1";
createNode transform -n "pTorus1";
    setAttr ".t" -type "double3" -0.47688973199150198 0 -10.843417358550912 ;
...
connectAttr "polySphere1.out" "pSphereShape1.i";
connectAttr "polyCube1.out" "pCubeShape1.i";
connectAttr "polyCylinder1.out" "pCylinderShape1.i";
connectAttr "polyPlane1.out" "pPlaneShape1.i";
connectAttr "polyTorus1.out" "pTorusShape1.i";

...

これらの行から、以下の行のいずれかに似た行を検索する必要があります。

createNode transform -n nodeName -p "FG";
createNode transform -n nodeName -p "BG";
createNode transform -n nodeName -p "MG";

上記のいずれかを見つけるには、どの正規表現を使用すればよいですか。

4

1 に答える 1

1

あなたの説明で私ができる最善のことは次のとおりです。

検索の結果( FG|BG|MG の可能性があります)を既知の文字列と連結する必要があります

import re

line = "createNode transform -n \"water\" -p \"FG\";" 

m = search(r'(FG|BG|MG)',line)
if m:
    result = m.groups()[0]

    # What do you want to concat it to? 
    known_string = "known_string" + result

「今、この文字列を検索する必要があります。何のために? あなたはすでに検索しました。
」zam は不明です- いいえ、そうではありません。re.compile()

申し訳ありませんが、これ以上の説明はできません

于 2012-05-19T08:50:13.583 に答える