그래서 포스팅했어요이전에 질문사용자 Dmytro Dzyubak의 답변을 받았습니다. 모든 것이 작동했지만 이제는 더 빠르게 작동하도록 노력하고 있습니다. 자세한 내용은 아래를 참조하세요.
전에:
SkinMesh
{
skin = "Art/Models/Effects/enviro_effects/misc/blood_orb/BloodOrb.sm"
}
SoundEvents
{
soundbank = "_Effects_misc_blood_orbs.bank"
animation = "enter"
0 = "Audio/Sound Effects/Misc/BloodOrb/Start_$(#).ogg@2 120 0 0.1 0.1 0 -1 0 1 1"
animation = "exit"
0 = "Audio/Sound Effects/Misc/BloodOrb/End_$(#)[email protected] 115 0 0 0 0 -1 0 1 1"
animation = "idle"
0 = "Audio/Sound Effects/Misc/BloodOrb/Orb_$(#)[email protected] 115 0 0 0 0 -1 0 10 4.5"
}
BoneGroups
{
bone_group = "mid false mid jnt_orb_01 "
bone_group = "cyl false mid cyl "
bone_group = "explode false jnt_orb_01 up_explode "
bone_group = "explodecyl false jnt_orb_01 cyl_explode1 "
bone_group = "midparticle false mini_orb1 mini_orb_particleup_02 "
}
보시다시피 괄호가 많이 있습니다. 다음 안에 있는 텍스트만 삭제할 수 있나요?
SkinMesh
{
skin = "Art/Models/Effects/enviro_effects/misc/blood_orb/BloodOrb.sm"
}
그리고
SoundEvents
{
soundbank = "_Effects_misc_blood_orbs.bank"
animation = "enter"
0 = "Audio/Sound Effects/Misc/BloodOrb/Start_$(#).ogg@2 120 0 0.1 0.1 0 -1 0 1 1"
animation = "exit"
0 = "Audio/Sound Effects/Misc/BloodOrb/End_$(#)[email protected] 115 0 0 0 0 -1 0 1 1"
animation = "idle"
0 = "Audio/Sound Effects/Misc/BloodOrb/Orb_$(#)[email protected] 115 0 0 0 0 -1 0 10 4.5"
}
BoneGroups를 그대로 두시겠습니까?
다음은 그것이 어떻게 보이는지에 대한 예입니다:
SkinMesh
{
}
SoundEvents
{
}
BoneGroups
{
bone_group = "mid false mid jnt_orb_01 "
bone_group = "cyl false mid cyl "
bone_group = "explode false jnt_orb_01 up_explode "
bone_group = "explodecyl false jnt_orb_01 cyl_explode1 "
bone_group = "midparticle false mini_orb1 mini_orb_particleup_02 "
}
답변1
- Ctrl+H
- 무엇을 찾다:
\b(?:SkinMesh|SoundEvents)\s+\{\K.+?(?=\})
- 다음으로 교체:
\n
- 대소문자 일치 확인
- 둘러보기 확인
- 정규식 확인
- 확인하다
. matches newline
- Replace all
설명:
\b # word boundary
(?: # start non capture group
SkinMesh # literally "SkinMesh"
| # OR
SoundEvents # literally "SoundEvents"
) # end group
\s+ # 1 or more any spaces (including linebreak)
\{ # openning curly bracket
\K # forget all we have seen until this position
.+? # 1 or more any characters including linebreak
(?=\}) # positive lookahead, make sure we have a closing curly bracket after.
대사:
\n # linefeed, you may use \r\n
주어진 예에 대한 결과:
SkinMesh
{
}
SoundEvents
{
}
BoneGroups
{
bone_group = "mid false mid jnt_orb_01 "
bone_group = "cyl false mid cyl "
bone_group = "explode false jnt_orb_01 up_explode "
bone_group = "explodecyl false jnt_orb_01 cyl_explode1 "
bone_group = "midparticle false mini_orb1 mini_orb_particleup_02 "
}
화면 캡처:
답변2
이 답변으로 RegEx Golf에서 우승할 수는 없지만 작동합니다.
지침 사용Dmytro Dzyubak의 답변(즉, ".matches newline"이 선택된 RegEx 모드에서 검색), 다음과 같이 변경하십시오:
찾기: ^(S[^\r\n]+)(\r?\n?)\{(.*?)\}
바꾸기:\1\2\{\2\}
정보:
이제 대괄호 앞의 줄이 대문자 S로 시작하는지 확인합니다.
또한 줄 끝을 찾아 교체합니다(혼합된 줄 끝으로 끝나지 않도록).
\1
그리고 \2
바꾸기 표현식에서는 찾기 표현식의 괄호 그룹을 참조합니다.