请问大家,如何表达提取在两个已知字符之间的字符(不包含那两个已知字符) 比方现在有一个字符串 20:19:48.654 : Reply[2] from 172.16.178.125: bytes=256 time=5.2 ms TTL=62 jitter=0.10 ms 我想提取的是 Reply[2]中的 2 那么现在我的方法是先将 [ 2 ] 提取出来,使用'[\d]' 再将 2 使用'\d'提取出来
能不能直接定义取出'Reply['和']'之间的数字 谢谢大家,我发现我这句语法的不懂,给我造成了很多麻烦
1
morevin 2021-01-05 14:41:20 +08:00
re.findall('Reply\[([0-9]*)]', 目标字符串)[0]
|
2
ymcz852 2021-01-05 14:41:25 +08:00
'Reply[2] from'.match(/Reply\[(\d+)\]/)
可以使用捕获括号去分组匹配 |
3
jifengg 2021-01-05 15:00:49 +08:00
\[([\d]+)\]
直接取出,就用()分组,然后直接取捕获到的内容。 |
4
xdnauly 2021-01-05 15:02:11 +08:00
In [30]: import re
In [31]: re.sub(".*Reply\[(\d+)\].*", r"\1", "20:19:48.654 : Reply[2] from 172.16.178.125: bytes=256 time=5.2 ms TTL=62 jitter=0.10 ms") Out[31]: '2' ########### #答案 re.sub(".*Reply\[(\d+)\].*", r"\1", target_str) |
5
jswh 2021-01-05 15:22:41 +08:00 1
|