메모장 ++ 정규식 다음으로 시작하는 것을 제외하고 줄에서 2 문자 찾기 및 바꾸기


0

그래서 정규 표현식에 익숙하지 않으며 여기 에이 문제가 있습니다.

쉼표로 구분 된 여러 줄의 일부 데이터를 바꿔야합니다. 그러나로 시작하는 줄은 건너 뛰어야합니다 Style: sign.

예:

이것들은 데이터의 의미입니다 (쉼표로 구분되어 있으며 의미를 나타 내기 위해).

Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding

교체해야 할 사항은 다음과 같습니다 : Bold(to 0) 및 ScaleX(to 85)

이것은 대체해야 할 전체 텍스트 블록입니다.

Style: main,Arial,23,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,-1,0,0,0,100,100,0,0,1,1.35,0,2,10,10,20,1
Style: italics,Arial,23,&H00FFFFFF,&H000000FF,&H004E2C2A,&H00000000,-1,-1,0,0,100,100,0,0,1,1.35,0,2,10,10,20,1
Style: sign_1330_2_K_a_t_a_g_i_r_i_,Trebuchet MS,12,&H00C1D8BF,&H000000FF,&H004D973B,&H00000000,-1,0,0,0,100,100,0,17,1,3,0,8,30,375,80,1
Style: sign_1446_5_K_a_g_a_r_i___A_,Trebuchet MS,12,&H00F1FBE9,&H000000FF,&H004F963D,&H00000000,-1,0,0,0,100,100,0,-15,1,3,0,2,335,30,100,1
Style: sign_2051_16_M_a_t_s_u_o___M_,Trebuchet MS,12,&H00C1D8BF,&H000000FF,&H004D973B,&H00000000,-1,0,0,0,100,100,0,7,1,3,0,8,162,468,64,1
Style: sign_2163_16_Schleich,Times New Roman,16,&H0021110C,&H000000FF,&H007D594A,&H00000000,-1,0,0,0,100,100,0,-10,1,3,0,8,67,507,25,1

결과는 다음과 같아야합니다.

Style: main,Arial,23,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,85,100,0,0,1,1.35,0,2,10,10,20,1
Style: italics,Arial,23,&H00FFFFFF,&H000000FF,&H004E2C2A,&H00000000,0,-1,0,0,85,100,0,0,1,1.35,0,2,10,10,20,1
Style: sign_1330_2_K_a_t_a_g_i_r_i_,Trebuchet MS,12,&H00C1D8BF,&H000000FF,&H004D973B,&H00000000,-1,0,0,0,100,100,0,17,1,3,0,8,30,375,80,1
Style: sign_1446_5_K_a_g_a_r_i___A_,Trebuchet MS,12,&H00F1FBE9,&H000000FF,&H004F963D,&H00000000,-1,0,0,0,100,100,0,-15,1,3,0,2,335,30,100,1
Style: sign_2051_16_M_a_t_s_u_o___M_,Trebuchet MS,12,&H00C1D8BF,&H000000FF,&H004D973B,&H00000000,-1,0,0,0,100,100,0,7,1,3,0,8,162,468,64,1
Style: sign_2163_16_Schleich,Times New Roman,16,&H0021110C,&H000000FF,&H007D594A,&H00000000,-1,0,0,0,100,100,0,-10,1,3,0,8,67,507,25,1

로 시작하는 줄 Style: sign은 내가 전에 쓴 것처럼 그대로 유지해야합니다. 또한 두 개 이상의 명령으로 수행 할 수 있습니다. 하나의 라이너 일 필요는 없습니다.

아무도 나를 도울 수 있습니까?


1
실제로 입력과 출력의 차이를 얻지 못합니다. 제발 당신의 질문을 수정 혼합 수정 및 비 수정, (적절한 형식) 및 예상 결과의 이상의 입력 라인 및 추가 (올바른 형식)
토토


좋아,이게 훨씬 나아질거야.
Tammys Head

답변:


0
  • Ctrl+H
  • 무엇을 찾다: ^Style:\h+(?:(?!sign)[^,]+,){7}\K-?\d+((?:,[^,]+){3}),-?\d+
  • 다음으로 교체하십시오. 0$1,85
  • 감싸기 체크
  • 정규식 확인
  • Replace all

설명:

^               # beginning of line
  Style:        # literally
  \h+           # 1 or more horizontal spaces
  (?:           # start non capture group
    (?!         # negative lookahead, make sure we haven't
      sign      # literally
    )           # end lookahead
    [^,]+       # 1 or more non comma
    ,           # 1 comma
  ){7}          # end group, must appear 7 times
  \K            # forget all we have seen until this position
  -?            # optional minus sign
  \d+           # 1 or more digits
  (             # start group 1
    (?:         # start non capture group
      ,         # 1 comma
      [^,]+     # 1 or more non comma
    ){3}        # end group, must appear 3 times
  )             # end group 1
  ,             # 1 comma
  -?            # optional minus sign
  \d+           # 1 or more digits

바꿔 놓음:

0           # zero
$1          # content of group 1
,           # a comma
85          # 85

주어진 예에 대한 결과 :

Style: main,Arial,23,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,85,100,0,0,1,1.35,0,2,10,10,20,1
Style: italics,Arial,23,&H00FFFFFF,&H000000FF,&H004E2C2A,&H00000000,0,-1,0,0,85,100,0,0,1,1.35,0,2,10,10,20,1
Style: sign_1330_2_K_a_t_a_g_i_r_i_,Trebuchet MS,12,&H00C1D8BF,&H000000FF,&H004D973B,&H00000000,-1,0,0,0,100,100,0,17,1,3,0,8,30,375,80,1
Style: sign_1446_5_K_a_g_a_r_i___A_,Trebuchet MS,12,&H00F1FBE9,&H000000FF,&H004F963D,&H00000000,-1,0,0,0,100,100,0,-15,1,3,0,2,335,30,100,1
Style: sign_2051_16_M_a_t_s_u_o___M_,Trebuchet MS,12,&H00C1D8BF,&H000000FF,&H004D973B,&H00000000,-1,0,0,0,100,100,0,7,1,3,0,8,162,468,64,1
Style: sign_2163_16_Schleich,Times New Roman,16,&H0021110C,&H000000FF,&H007D594A,&H00000000,-1,0,0,0,100,100,0,-10,1,3,0,8,67,507,25,1

이것은 완벽 해요! 대단히 감사합니다! 설명해 주셔서 감사합니다! ^^
Tammys Head

@TammysHead : 천만에요, 기뻐합니다.
토토
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.