숫자를 값 1 단계로 낮추는 정규식


1

나는 그 숫자를 사용하여 값을 증가시키는 정규식을 가지고 있으므로, txt에 1을 쓰면 1로 2가되고 0에서 1로 바뀐다. 필자는 값을 1 씩 줄이는 새로운 정규 표현식을 만들려고 노력했기 때문에 4를 3으로, 9를 8로 변경합니다. 하지만 내가 갇혀있어 그림 밖으로 그것을 아프지 병 게시물 내가 현재 사용하는 정규식과 몇 가지 예제

(0)|(1)|(2)|(3)|(4)|(5)|(6)|(7)|(8)|(9) 

바꿔 놓음

(?{1}1)(?{2}2)(?{3}3)(?{4}4)(?{5}5)(?{6}6)(?{7}7)(?{8}8)(?{9}9)(?{10}0)

이제는이 동일한 수식을 사용할 수 있지만 숫자를 줄이는 것이 가능한지 궁금합니다.

예제들

james66
fire1
dog 2
lier9

james55
fire0
dog1
lier8

답변:


1

거의 동일하지만 값을 변경하십시오.

발견:

(1)|(2)|(3)|(4)|(5)|(6)|(7)|(8)|(9) 

바꾸다:

(?{1}0)(?{2}1)(?{3}2)(?{4}3)(?{5}4)(?{6}5)(?{7}6)(?{8}7)(?{9}8)

그리고 당신은 어떻게 대체하고 싶은지를 알아야합니다. 0

그러나 원하는 스크립트 언어로 작은 스크립트를 작성하는 것이 좋습니다.


설명 할 수 있니? 예를 들어 find와 replace 및 regexes를 사용하는 경우 일반적으로 find에 대문자 구문이 많이 표시되며 replace에는 일반 텍스트 또는 \ 1 \ 2 \ 0 또는 $ 0 $ 1 $ 2가 표시됩니다. - 교체에서 괄호 (? ...) 캡처. 그리고 거기에 중괄호의 목적을 설명해 주시겠습니까? 일반적으로 중괄호를 볼 때 5 {3}과 같은 반복을합니다. 나는 당신이 james66을 james56으로 바꾸는 것에 작품을 게시 한 것을 본다. 나는 단지 왜 그걸 보려고 하는가?
barlop

1
@barlop : 조건부 대체라고하며, (?{1}0) 방법 if group 1 is set, then replace it with 0. 그룹 1은 우리가 숫자를 만날 때 찾기 부분에 설정됩니다. 1. 모든 숫자에 동일한 규칙이 적용됩니다.
Toto
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.