如何使用python从格式化字符串中提取数据?

时间:2017-07-25 10:38:57

标签: python regex string text string-formatting

我有一组这样的字符串:

  

C001F01.PNG

     

C001G01.PNG

     

C002F10.PNG

遵循以下格式:

  

C(身份证号码)(F或G)(另一身份证号码).PNG

我想知道他们的ids'并且知道他们是来自F级还是G级,我读过re.split()可以做类似的工作,但我很困惑并且不明白RE是如何工作的。

2 个答案:

答案 0 :(得分:1)

你当然应该阅读有关正则表达式的更多信息。第一个提示是,当您想要捕获图案时,需要将其括在括号中。例如(\ d +)。但是对于这个例子,你需要的代码是:

match = re.match(r'C(\d+)([F|G])(\d+)\.PNG', s)

first_id = match.group(1)
fg_class = match.group(2)
second_id = match.group(3)

答案 1 :(得分:0)

s = "123STRINGabcabc"

def find_between( s, first, last ):
    try:
        start = s.index( first ) + len( first )
        end = s.index( last, start )
        return s[start:end]
    except ValueError:
        return ""



print find_between( s, "123", "abc" )