我不明白为什么这和所有的事情都不匹配。我甚至把它放在一个在线的RE工具里,它应该是匹配的。我运行的是Linux 3.6。你知道吗
它仅在后跟“\u SINK”时匹配搜索,而在后跟“\s”时不匹配搜索。你知道吗
以下是我的搜索文本片段,请参阅:
import re
lines = ['R_d_10763 VDDI_1007 Group_BGA_BGA_VDD_INT_AD26 3.711438e+000',
'R_d_10771 VDDI_1007 VDDI_1012 1.337785e+001',
'R_d_8607 Group_BGA_BGA_VSS_AH6 Group_BGA_BGA_VSS_AJ43 3.777161e+000',
'R_d_6585 Group_BGA_BGA_AVDD085_MIPI_DPHY_Y36 Group_BGA_BGA_AVDD085_MIPI_DPHY_W35_SINK_ 3.860682e-003',
'R_d_69804 Xm4s4s2_M_DPDATA0_580 Group_BGA_BGA_XMIPI_DSI_D0_P_V38_SINK_ 2.668494e-001',
'R_d_69668 XCP_ANT_SW1_383 Group_BGA_BGA_XCP_ANT_SW1_N5_SINK_ 5.037550e-001',
'R_d_13 AVDD085_MIPI_DPHY_540 Group_BGA_BGA_AVDD085_MIPI_DPHY_Y36 2.854267e-002',]
for line in lines:
conn1, conn2, res = line.split()[1:]
match1 = re.search(r'(A?[A-Z][0-9]{1,2})(?:_SINK|\s)', conn1)
match2 = re.search(r'(A?[A-Z][0-9]{1,2})(?:_SINK|\s)', conn2)
try:
conn1 = match1.group(1)
except AttributeError:
pass
try:
conn2 = match2.group(1)
except AttributeError:
pass
print(f'Connection 1: {conn1} Connection 2: {conn2} Resistance: {res}')
我得到的结果是:
Connection 1: VDDI_1007 Connection 2: Group_BGA_BGA_VDD_INT_AD26 Resistance: 3.711438
Connection 1: VDDI_1007 Connection 2: VDDI_1012 Resistance: 13.37785
Connection 1: Group_BGA_BGA_VSS_AH6 Connection 2: Group_BGA_BGA_VSS_AJ43 Resistance: 3.777161
Connection 1: Group_BGA_BGA_AVDD085_MIPI_DPHY_Y36 Connection 2: W35 Resistance: 0.003860682
Connection 1: Xm4s4s2_M_DPDATA0_580 Connection 2: V38 Resistance: 0.2668494
Connection 1: XCP_ANT_SW1_383 Connection 2: N5 Resistance: 0.5037550
Connection 1: AVDD085_MIPI_DPHY_540 Connection 2: Group_BGA_BGA_AVDD085_MIPI_DPHY_Y36 Resistance: 0.02854267
但应该是这样
Connection 1: VDDI_1007 Connection 2: AD26 Resistance: 3.711438
Connection 1: VDDI_1007 Connection 2: VDDI_1012 Resistance: 13.37785
Connection 1: AH6 Connection 2: AJ43 Resistance: 3.777161
Connection 1: Y36 Connection 2: W35 Resistance: 0.003860682
Connection 1: Xm4s4s2_M_DPDATA0_580 Connection 2: V38 Resistance: 0.2668494
Connection 1: XCP_ANT_SW1_383 Connection 2: N5 Resistance: 0.5037550
Connection 1: AVDD085_MIPI_DPHY_540 Connection 2: Y36 Resistance: 0.02854267
谢谢你
问题是,拆分字符串时,将删除空格,因此在正则表达式中查找尾随空格时,搜索将失败。你知道吗
就你而言
这是一个有效的版本。。你知道吗
输出:
用
\b
替换\s
:输出:
相关问题 更多 >
编程相关推荐