복붙노트

[PYTHON] 파이썬에서 대괄호 안에있는 문자열 가져 오기

PYTHON

파이썬에서 대괄호 안에있는 문자열 가져 오기

샘플 문자열은 다음과 같습니다. alphaCustomer [cus_Y4o9qMEZAugtnW] active_card = , 생성 = 1324336085, description = 'My Test App for Customer', livemode = False>

나는 단지 가치가 cus_Y4o9qMEZAugtnW이고 카드가 아님 (다른 [] 안에 있음)

파이썬에서 어떻게 할 수 있습니까? 어쩌면 RegEx를 사용하여 (나는 잘하지 못한다)?

해결법

  1. ==============================

    1.어때?

    어때?

    import re
    
    s = "alpha.Customer[cus_Y4o9qMEZAugtnW] ..."
    m = re.search(r"\[([A-Za-z0-9_]+)\]", s)
    print m.group(1)
    

    나를 위해이 인쇄물 :

    cus_Y4o9qMEZAugtnW
    

    re.search (...)를 호출하면 정규 표현식에 처음으로 일치하므로 두 번째 검색을 반복하지 않는 한 [카드]를 찾지 않습니다.

    편집 : 여기 정규 표현식은 파이썬 원시 문자열 리터럴입니다. 기본적으로 백 슬래시는 특수 문자로 처리되지 않고 re.search () 메서드에 그대로 전달됩니다. 정규 표현식의 부분은 다음과 같습니다.

    편집 : D K가 지적한대로 정규식은 다음과 같이 단순화 될 수 있습니다.

    m = re.search(r"\[(\w+)\]", s)
    

    \ w는 re.LOCALE 및 re.UNICODE 설정에 따라 [a-zA-Z0-9_]와 동일한 의미를 갖는 특수 시퀀스이기 때문입니다.

  2. ==============================

    2.이 일을해야합니다 :

    이 일을해야합니다 :

    re.match(r"[^[]*\[([^]]*)\]", yourstring).groups()[0]
    
  3. ==============================

    3.이렇게하려면 str.split을 사용할 수 있습니다.

    이렇게하려면 str.split을 사용할 수 있습니다.

    s = "<alpha.Customer[cus_Y4o9qMEZAugtnW] active_card=<alpha.AlphaObject[card]\
     ...>, created=1324336085, description='Customer for My Test App',\
     livemode=False>"
    val = s.split('[', 1)[1].split(']')[0]
    

    그럼 우리는 :

    >>> val
    'cus_Y4o9qMEZAugtnW'
    
  4. ==============================

    4.

    your_string = "lnfgbdgfi343456dsfidf[my data] ljfbgns47647jfbgfjbgskj"
    your_string[your_string.find("[")+1 : your_string.find("]")]
    

    예의 : 괄호 사이에 텍스트를 반환하는 정규식

  5. ==============================

    5.당신은 또한 사용할 수 있습니다

    당신은 또한 사용할 수 있습니다

    re.findall(r"\[([A-Za-z0-9_]+)\]", string)
    

    찾으려는 사건이 많이있는 경우

    자세한 정보는 다음을 참조하십시오. 어떻게하면 파이썬에서 정규 표현식과 일치하는 것을 모두 찾을 수 있습니까?

  6. from https://stackoverflow.com/questions/8569201/get-the-string-within-brackets-in-python by cc-by-sa and MIT license