나는 하이픈 사이의 숫자와 일치하는 정규 표현식을 조합하려고합니다.정규식 - 하이픈 사이의 일치하는 숫자
일반
a-b-c-d-e, where a,b,c,d,e can each be either one, two or three digit numbers.
예를
9-b-90-2-2
19-b-390-2-2
가 어떻게 각 표현식에서 b를 수를 선택할 수 있습니다 ?
나는 하이픈 사이의 숫자와 일치하는 정규 표현식을 조합하려고합니다.정규식 - 하이픈 사이의 일치하는 숫자
일반
a-b-c-d-e, where a,b,c,d,e can each be either one, two or three digit numbers.
예를
9-b-90-2-2
19-b-390-2-2
가 어떻게 각 표현식에서 b를 수를 선택할 수 있습니다 ?
에만 번호 (B)를 얻기 위해 아래 정규식을 사용할 수,
^[^-]*-([^-]*).*
>>> str = "9-b-90-2-2 "
>>> m = re.findall(r'^[^-]*-([^-]*).*', str)
>>> m
['b']
없이 그것을 할 수 있습니다 또는 여러 줄을 입력 한 다음 줄 바꿈 문자를 사용하도록 설정해야합니다 (
).>>> str = """9-45-90-2-2
... 9-45-90-2-2-89-878"""
>>> m = re.findall(r'^[^-]*-([^-]*).*', str, re.MULTILINE)
>>> m
['45', '45']
당신은 정말이에 대한 정규식이 필요하지 않지만, 정규식은 간단하다 :
(?<=-)(\d+)
기본적으로, 이것은 단지 첫 하이픈 다음 숫자를 일치합니다. 입력이 하나 포함되어있는 경우
당신은 정규식
num = "9-b-90-2-2"
print num.split('-')[1] # b