这是我的数据帧:
entityId delta_approved_clockout
(ID: 10) 247333605 0.0
(ID: 20) 36738870 0.0
(ID: 40) 4668036427 0.0
(ID: 50) 1918647972 0.0
(ID: 60) 4323165902 44125.0
(ID: 80) 145512255 0.0
Assigned (ID: 30) 42050340 0.0
Assigned (ID: 40) 130880371376 0.0
Assigning (ID: 30) 1095844753 0.0
Cancelled (ID: 40) 937280 0.0
Cancelled (ID: 80) 16857720813 0.0
Planned (ID: 20) 9060392597 0.0
Planning (ID: 10) 108484297031 0.0
Processed (ID: 70) 133289880880 0.0
Revoked (ID: 50) 2411903072 0.0
Writing (ID: 50) 146408550024 0.0
Written (ID: 60) 139458227923 1018230.0
我希望结果只打印与(ID:10)完全匹配的正则表达式,使用这行我的输入包括“Planning(ID:10)”,这不是我需要的完全匹配。以下是总结结果:
^{pr2}$我也尝试过正则表达式代码,结果为0,例如:
print input_data[input_data['last_status'].str.contains(r' ^(\(ID: \d+\))$', na=False)]
print input_data[input_data['last_status'].str.contains(r'^(\(ID: 10\))$', na=False)]
也许我对regex的理解还不够透彻,那么写regex的正确方法是什么呢?提前谢谢。在
正则表达式:^{}
详细信息:
^
在行的开头断言位置\s
匹配任何空白字符*
匹配零时间和无限时间[^]
匹配列表中不存在的单个字符+
匹配一次和无限时间\r\n
匹配回车符和换行符(换行符)Python代码:
你可以用
见the regex demo。在
模式匹配:
^
-字符串开头\s*
-零个或多个(*
)空白字符\(ID:
-a(ID:
子串\s*
-零个或多个(*
)空白字符\d+
-1+位\)
-一个)
字符\s*
-零个或多个(*
)空白字符$
-字符串结束。在如果您想得到整行代码,可以将regex更新为^{}
要捕获组中的}
(ID: 10)
,可以尝试^{相关问题 更多 >
编程相关推荐