我在python中有以下字符串:
[\d:]+ (.)*
我希望在时间字段之后捕获文本,即" python run.py abc"
我正在使用以下正则表达式,但它无效
{{1}}
答案 0 :(得分:3)
您可以使用
\d+:\d+\s+(.*)
请参阅regex demo。
<强>详情
\d+
- 一位或多位:
- 冒号\d+
- 一位或多位\s+
- 一个或多个空白字符(.*)
- 第1组(您需要使用.group(1)
访问的值):除了换行符之外的任何0 +字符,尽可能多(字符串的所有其余部分)。< / LI>
请参阅Python demo:
import re
text = "vagrant 11450 4344 0 Feb22 pts/2 00:00:28 python run.py abc"
m = re.search(r'\d+:\d+\s+(.*)', text)
if m:
print(m.group(1)) # => python run.py abc
答案 1 :(得分:1)
使用re.search()
功能:
import re
text = "vagrant 11450 4344 0 Feb22 pts/2 00:00:28 python run.py abc"
result = re.search(r'(?<=(\d{2}:){2}\d{2} ).*', text).group()
print(result)
输出:
python run.py abc
答案 2 :(得分:1)
没有RE:
text = "vagrant 11450 4344 0 Feb22 pts/2 00:00:28 python run.py abc"
text=text.split(":")[-1][3:]
输出:
python run.py abc
答案 3 :(得分:1)
您可以使用re.split
和正则表达式:\d{2}:\d{2}\s+
。
text = 'vagrant 11450 4344 0 Feb22 pts/2 00:00:28 python run.py abc'
str = re.split(r':\d{2}:\d{2}\s+', text)[1]
输出:python run.py abc