2017-09-29 4 views
0

그래서 00'00"000처럼 보이는 프로그램에서 두 번 나타나는 부분 문자열이 있습니다.정규 표현식을 사용하여 00'00 "000을 검색하는 방법은 무엇입니까?

내가 원래 정규 표현식 사용되었다

\d{2}\'\d{2}\"\d{3} 

을하고 며칠 동안 작업하지만 지금은 어떤 이유로되었다, 그렇지 않아? 파이썬의 re 라이브러리는 더 이상이 부분 문자열을 찾지 못합니다. 여기서 내가 뭘 잘못하고 있니? 질문에

코드 : 당신의 문자열에서

elif message.content.startswith('%timegap'): 
    if message.content == '%timegap -h': 
     await client.send_message(message.channel, 
            '```' + 'Usage: %timegap [time 1] [time 2]\n' + \ 
            """Example: %timegap 03'29"110 03'28"390""" + '```') 
    else: 
     time_list = re.findall("\d*\'\d+\"\d+", message.content) 
     await client.send_message(message.channel, calculate_time_gap(time_list)) 
+0

어쩌면 때문이다. 둥근 아포스트로피/큰 따옴표를 확인하십시오. –

+0

당신은 macthes를 얻으려는 텍스트의 예를 들어 줄 수 있습니까? –

+0

Regex는 문제가 없으므로 입력 문자열이나 코드에 문제가 있습니다. 둘 다 질문에서 누락되었습니다. –

답변

0

따옴표는 정규 표현식에있는 것과 동일하지 않습니다 : 입력이 일치하는 문자열을 포함하지 않는

re.findall(r'\d{2}\’\d{2}\”\d{3}', '%timegap 03’14”800 03’14”800') 
> ['03’14”800', '03’14”800'] 
+0

다른 견적이 있다는 것을 모르고 있었는데 전화가 다른 견적을 제시 할 것 같아서 이제는 어느 쪽인지 확인해야합니다. 정말 고마워요. – Zero