Python3 解析关键字后的字符串

Python3 parse string after keyword

我有一个变量

abc="[<Result id:af2af0>, < Result id:5ebb65>, < Result id:ee0f90>, < Result id:e8ced6>]"

abcd=str(abc)
if isinstance(abc, str):
    print("GOOD")
else:
    print("NOT GOOD")

我想在 keywork="id:" 之后解析这个字符串以将六值数字存入数组

array[0]=af2af0
array[1]=5ebb65
...

使用正则表达式:)

import re
abc="[<Result id:af2af0>, < Result id:5ebb65>, < Result id:ee0f90>, < Result id:e8ced6>]"
pattern = r'<\s*Result id\:([^>]+)>'

print(re.findall(pattern, abc))

现场演示:https://repl.it/repls/AutomaticPlumPixels

如果关键字可以是其他词,而不仅仅是 "result",您也可以使用此正则表达式:

pattern = r'<\s*[^\s]+ id\:([^>]+)>'

r''中的r是指定正则表达式。