regex - 从捕获组中提取术语
问题描述
我面临一个我无法解决的困难,所以我在这里问。
我正在解析来自 SIEM 的日志,我想在其中提取一些术语。
日志格式很严格,但内容因一行而异。其中一些日志将包含一个由双引号分隔的句子,例如。“... ... ...”,在同一个地方的其他一些(因此在同一个捕获组中捕获)将只包含 - (ascii 45)
我写了以下正则表达式(pcre):
\s(?P<cap1>\".+\"|\-)\s
但我想捕获“-”符号以及句子中双引号之间的其他字符。
反正有这样做吗?就像是
\s(\"?P<cap1>(.+)\"|?P<cap1>\-)\s
(我知道这不起作用)
谢谢你的帮助!
解决方案
推荐阅读
- javascript - JQuery - 加载所有页面后如何从 url 获取页面?
- jquery - 如何将语法从 @Html.RadioButtonFor 迁移到 @Html.DropdownlistFor?
- android - Android 应用程序:实际参数列表和形式参数列表的长度错误不同
- r - 将变量名称传递给 R 中的 count() 函数
- java - javax.servlet.UnavailableException:使用 jsp 部署的应用程序的持有者中没有类
- android - 当我使用 setSupportActionBar() 时活动崩溃
- android - Android 应用不显示从 Cloud Functions 发送的弹出通知
- perl - 公开 github repo 会导致 Dist::Zilla 出现问题
- excel - Excel:如果单元格有空格,则在第一个空格之前提取单元格中的字符
- php - 得到 null 作为响应,但数据正在插入数据库