[해결] 정규식 질문입니다.

zepinos의 이미지

정규식 질문입니다.

00123, 10212, 02312, a2301 와 같은 문자열이 존재합니다.

4번째와 같이...문자형이 있을 수도 있습니다.

여기서 앞의 0 들을 지워버리려고 하는데 어떻게 정규식을 구성해야 하는지 궁금합니다. 자바에서 replace 로 지워버리려고 합니다.

결과는 00123, 10212, 2312, a2301 처럼 되길 바랍니다.

조언 부탁드립니다.

Saintlinu의 이미지

#!/usr/bin/env python
 
import re
 
a = '00123, 10212, 02312, a2301'
 
con = re.compile('([\^|\s]0[^0]\d+[,|$])')
 
for v in con.findall(a):
    v = v.strip()
    print "%s --> %s" % (v, v[1:])

$ ./reg1.py
02312, --> 2312,

정규표현식으로만 한다면 저렇게 해도 되긴한데요.

다른분께서 더 최적화된 걸 올려주실꺼예요 (__)

행복하세요 ^_^

행복하세요 ^_^

zepinos의 이미지

답변 감사드립니다.

정규식은 거의 까막눈이라 적어주신게 뭘 의미하는지를 모르겠어요 T.T 자바라서 그런지 결과가...변화가 없어요..

일단 문자열 앞에 " " <- 스페이스 하나 넣어주고 \s0* 으로 잡아내긴 했는데...너무 무식한 방법이네요.

제일 앞에 있는...이라는 조건을 어떻게 만족시킬 수 있을까요...

7339989b62a014c4ce6e31b3540bc7b5f06455024f22753f6235c935e8e5의 이미지

"^0+"를 ""로 치환하면 됩니다.

Quote:
결과는 00123, 10212, 2312, a2301 처럼 되길 바랍니다.

이건 123, 10212, 2312, a2301이죠?
zepinos의 이미지

답변 감사드립니다. ^^;;;

허무하도록 잘되네요...T.T

^ The beginning of a line <-- 자바 API 에 버젓이 있는 내용인데...이 놈의 영어 울렁증...T.T