다음 형식의 부분 문자열을 포함하는 문자열이 있습니다. i_
또는 o_
으로 시작하여 ,
쉼표로 끝납니다.특정 형식의 부분 문자열 추출
어떻게 이러한 문자열을 추출 할 수 있습니까? 예를 들어
는 :
string = 'input [89:0] i_gth_rxdata,'
나는 i_gth_rxdata
다음 형식의 부분 문자열을 포함하는 문자열이 있습니다. i_
또는 o_
으로 시작하여 ,
쉼표로 끝납니다.특정 형식의 부분 문자열 추출
어떻게 이러한 문자열을 추출 할 수 있습니까? 예를 들어
는 :
string = 'input [89:0] i_gth_rxdata,'
나는 i_gth_rxdata
In [6]: import re
In [7]: text = 'input [89:0] i_gth_rxdata,'
In [9]: re.search(r'([io]_.*),', text).group(1)
Out[9]: 'i_gth_rxdata'
.*
찾은 마지막 쉼표 때까지 탐욕 일치해야합니다. 쉼표가 처음으로에 도달 할 때까지 패턴을 일치 시키려면 r'([io]_.*?),'
을 사용하십시오. 여기
In [15]: re.search(r'([io]_.*),', 'input [89:0] i_gth_rxdata, 1,').group(1)
Out[15]: 'i_gth_rxdata, 1'
In [16]: re.search(r'([io]_.*?),', 'input [89:0] i_gth_rxdata, 1,').group(1)
Out[16]: 'i_gth_rxdata'
my_string = 'input [89:0] i_gth_rxdata,'
import re
print re.findall(r'[io]_.*?(?=,)', my_string)
# ['i_gth_rxdata']
당신은 볼 수 있습니다을 어떻게 정규식 작품, in this online demo
[io]_.*?(?=,)
>>> s = 'input [89:0] i_gth_rxdata,'
>>> import re
>>> obj = re.search(r'(i_|o_).*,', s)
>>> obj.group()
'i_gth_rxdata,'