regex - 正则表达式:捕获块以文本中的“某物”开头
问题描述
我需要一个正则表达式来聊天 2 组:成功(文本块的开头)和所有后续,直到下一个带有 3 个成功块的成功文本示例:
Success blablabla blablabla blablabla blablabla blablabla blablabla
blablabla blablabla
blablabla blablabla blablabla blablabla
blablabla blablabla
blablabla blablabla
Success blablabla blablabla blablabla blablabla blablabla blablabla
blablabla blablabla
blablabla blablabla blablabla blablabla
blablabla
blablabla
blablabla blablabla
Success blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
blablabla blablabla
blablabla blablabla blablabla blablabla
blablabla blablabla
blablabla blablabla
此正则表达式将块停止到 first \n
:
(Success|Error|Critical|Warning)\s{8}((.*|\n*?|\r*?|[\r\n]*?)*)
解决方案
许多可能性之一是(使用和multiline
启用):verbose
singleline
^(Success|Error|Critical|Warning)
.+?
(?=^(?:Success|Error|Critical|Warning)|\Z)
在 regex101.com 上查看演示。
推荐阅读
- react-native - 尝试导航时 undefined is not an object (evalating '_this.props.navigation) 错误
- python - 如何通过从solvePnP()获得的姿势(旋转矩阵和平移向量)获得姿势速度和加速度?
- vue.js - Vue路由器提供json文件
- netlogo - NETLOGO:使用滑块上设置的变量迭代代理
- pandas - 用于主题建模的 Python 数据清理
- r - R如何重新映射字符串中的字母
- python - “ModuleNotFoundError: No module named 'lxml'”,虽然它应该被导入
- android - 我对 Kotlin Spinner 做错了什么以防止它按预期工作?
- python - python:循环遍历数据框列表和列表列表
- javascript - 在 javascript 中从 pdf/doc/docx 读取文本