2012-10-18 2 views
2

일치 패턴을 REPEATED 패턴으로 바꿀 수 있습니까? 예를 들어Regex : "repeat repeat"가 아닌 REPEATED 문자열로 대체

다음은 "4"대상 문자열에 리피터 의미 : "4def abc2"내가 원하는 것은 abc2222def이고, 나는 "압축"형식으로 다시 내 문자열을 구성 할 대상 문자열입니다 . 내가 sed에서 역 참조 생각할 수

,

sed 's/\([0-9]+\):\([0-9]\)/\1\\{\2\\}/' #\1 to match "2" and \2 to match "4". 

\\{n\\}는 n 번 반복하는 것입니다,하지만 불행히도 작동하지 않습니다.

REGEX으로 지원 될 수 있는지 궁금합니다. 어떤 조언?

우리는 다른 도구를 사용하여이 기능을 구현할 수는 있지만 실제로는 REGEX 기능 만 사용할 수 있음을 알고 있습니다.

이것은 내가 stackoverflow에 내 첫 게시물입니다, 내가 뭔가를 놓친 경우 알려 주시기 바랍니다. Perl에서

답변

0

, 나는 트릭 할 수 있어요 : 그

$ echo abc2:4def | perl -lne 'print $1 . $2 x $3 . $4 if m/^(\w+)(\d):(\d)(.*)/;' 
abc2222def 
+1

사실을하지만, "곱셈은"정규식,하지만 코드 기능이 아닙니다. :) – tink

+0

REGEX에서 이것을 발견하면, 환영합니다. 그리고 다시 어떻게 나에게 말해 주는지. –

관련 문제