regex - 在不使用环视的情况下匹配两组字符之间的字符串
问题描述
我一直在研究一些正则表达式来尝试匹配两个字符之间的整个字符串。我正在尝试捕获从“系统”一直到“prod_rx”的所有内容。(我希望在我的比赛中包含这两个字符串)。以下是我正在使用的全文:
\"alert_id\":\"123456\",\"severity\":\"medium\",\"summary\":\"System generated a Medium severity alert\\\\prod_rx.\",\"title\":\"123456-test_alert\",
我现在使用的正则表达式是...:
(?<=summary\\":\\").*?(?=\\")
当我能够使用环视时,这非常有效,例如在 Regex101 中:https ://regex101.com/r/jXltNZ/1 。但是,我公司使用的软件中的正则表达式解析器不支持环视(很疯狂,对吗?)。
无论如何-我的问题基本上是如何在不使用前瞻/后视的情况下匹配上述文本。很感谢任何形式的帮助!!
解决方案
好吧,我们可以简单地使用其他非环视方法,例如这个简单的表达式:
.+summary\\":\\"(.+)\\",
我们的数据在这个捕获组中:
(.+)
我们的正确边界是:
\\",
我们的左边界是:
.+summary\\":\\"
演示
推荐阅读
- xamarin - 使用Xamarin Forms从父页面内的子视图的可绑定属性传递可绑定属性值?
- c# - .net 核心 3 - b2c 角色身份验证 - 声明注入不起作用
- java - Spark Sql 将 null 转换为复杂的 StructType
- css - 默认情况下从父级继承其值的属性列表
- c++ - 声明时无法实例化的成员对象
- swiftui - 如何在 MacOS for iOS 项目(启用 Catalyst)上的 SwiftUI 中的按钮上分配快捷方式?
- java - 如何在 JFace TreeViewer 中按类型对元素进行分组?
- python - 获取具有相同值的每个元素的平均值的最快方法?
- python - 安装后可以从应用程序中删除 Python 文件夹吗?
- javascript - js中的多个if条件没有给出所需的输出