如何从Python搜索中删除返回的对象<\u sre.sre\u Match对象?

2024-06-16 14:13:35 发布

您现在位置:Python中文网/ 问答频道 /正文

字符串是

root 8251 7966 2 05:04 ? 00:10:47 java -Djava.awt.headless=true -Xmx16384m -Xms8192m -XX:+UseG1GC -XX:+UseStringDeduplication -Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom -jar /external_text.jar

正则表达式模式是

fullCmd = re.search("-Djava.*(?= -jar)", line)

返回

root java Apr26 00:26:13 <_sre.SRE_Match object; span=(53, 204), match='-Djava.awt.headless=true -Xmx16384m -Xms8192m -XX> external_text.jar

我更喜欢通过排除返回的字符串来获得-Djava.awt.headless=true -Xmx16384m -Xms8192m -XX,我不知道这些字符串叫什么


Tags: 字符串texttruerootjavaexternaljarxx
1条回答
网友
1楼 · 发布于 2024-06-16 14:13:35

您在此处使用了错误的函数,如果还想提取匹配的文本,则应使用re.findall

inp = "root 8251 7966 2 05:04 ? 00:10:47 java -Djava.awt.headless=true -Xmx16384m -Xms8192m -XX:+UseG1GC -XX:+UseStringDeduplication -Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom -jar /external_text.jar"
match = re.findall(r'-Djava\S+(?: -X[^\s:]+)+', inp)[0]
print(match)
# -Djava.awt.headless=true -Xmx16384m -Xms8192m -XX

相关问题 更多 >