python - 字符串中的python正则表达式搜索

标签 python regex

这个问题已经有了答案:
What is the difference between re.search and re.match?
8个答案
我试图用Python在一行中找到一个时间戳,我有如下代码,我从Python文档中找到,但是它似乎没有找到想要的子串。

import re

line = "Jan  3 07:57:39 Kali sshd[1397]: Failed password for root from 172.16.12.55 port 34380 ssh2"
regex = "[0-9]{2}:[0-9]{2}:[0-9]{2}"
p = re.compile(regex)
m = p.match(line)
print m

# Output: None

我的目标是根据所提供的regex从行中提取时间戳。
谢谢您。
重复:这个问题(这是一个重复)为我的问题提供了答案,但它仍然是一个不同的问题。我认为最好不要考虑这个问题,因为我无法通过python手册和之前的so问题快速找到答案。

最佳答案

您可以使用re.findall

import re
line = "Jan  3 07:57:39 Kali sshd[1397]: Failed password for root from 172.16.12.55 port 34380 ssh2"
new_line = re.findall('^[a-zA-Z]+\s+\d+\s+[\d\:]+', line)[0]

输出:
'Jan  3 07:57:39'

关于python - 字符串中的python正则表达式搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48158989/

相关文章:

r - 除括号内的内容外,按空格拆分字符串

PHP:删除多个子标签

java - 正则表达式查找多个分隔符之间的任何内容

sql - 如何在bigquery中使用正则表达式分割字符串

python - 从数据帧创建一系列饼图,并将颜色链接到索引值

python - 获取 "actual"字符串的 Unicode 字符长度

python - 洗牌后获取python列表项的先前索引值

python - 与示例 JWT 相比,获得不正确的 HMAC SHA256 签名

python - QToolTip 中包含的变量不会自动更新

javascript - 正则表达式用Javascript替换每第二次出现的内容