需要一些关于python正则表达式的帮助。 我有这段文字:
part101_add(
name = "part101-1",
dev2_serial = "dev_l622_01",
serial_port = "/dev/tty-part101-1",
yok_serial = "YT8388"
)
yok_tar_add("YT8388", None)
part2_add(
name = "part2-1",
serial_number = "SERIALNUMBER",
serial_port = "/dev/tty-part2-1",
yok_serial = "YT03044",
yok_port_board = "N"
)
yok_tar_add("YT03044", None)
我需要选择所有部分*\u添加及其内容。 例如:
part101_add:
name = "part101-1",
dev2_serial = "dev_l622_01",
serial_port = "/dev/tty-part101-1",
yok_serial = "YT8388"
part2_add:
serial_number = "SERIALNUMBER",
serial_port = "/dev/tty-part2-1",
yok_serial = "YT03044",
yok_port_board = "N"
问题是我不能把结果分开。 使用此图案时:
regex = r"(.*?_add)\([\s\S.]*\)"
谢谢你的帮助。你知道吗
我会将模式精确到只在行首和行尾匹配,并使用带有
[\s\S]
的惰性量词:见this regex demo
详细信息:
(?m)
-一个内联的re.MULTILINE
修饰符版本,使^
与行开始匹配,使$
与行结束匹配^
-行的开始(part\d+_add)
-第1组捕获part
,1+个数字,_add
\(
-文字(
[\s\S]*?
-任何0+个字符,尽可能少到\)$
-行尾的)
。你知道吗相关问题 更多 >
编程相关推荐