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

How to extract data from formatted string using python?

我有一组这样的字符串:

C001F01.PNG

C001G01.PNG

C002F10.PNG

遵循以下格式:

C(id number)(F or G)(another id number).PNG

我想知道他们的 ID' 并知道他们是来自 class F 还是 G,我读过 re.split() 可以做类似的工作,但我很困惑并且不知道了解 RE 的工作原理。

您当然应该阅读更多关于正则表达式的内容。第一个提示是,当您想要捕获一个模式时,您需要将其括在括号中。例如(\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)
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" )