sql - 正则表达式组合语句以匹配最后一个 > 和最后一个 _ 之前的所有内容
问题描述
正则表达式很新,所以我在组合两个语句来获得输出时遇到了一些麻烦。这是我正在处理的字符串:
UI - bridge.dashboard>dashboard_dialog>ipm_dismiss_secondary_1806-ENPF-PrReEm-00-8492678
我试图提取最后一个大于号之后和最后一个下划线之前的所有内容。这将是我想要的输出:
ipm_dismiss_secondary
到目前为止,我已经能够访问大于使用此之后的所有内容:
[^>]*$
返回:
ipm_dismiss_secondary_1806-ENPF-PrReEm-00-8492678
最后一个下划线之前的所有内容都使用这个:
.*(?=\_)
返回:
UI - bridge.dashboard>dashboard_dialog>ipm_dismiss_secondary
但是,我一生都无法弄清楚如何将这两个语句组合在一起以实现所需的输出。
解决方案
试试([^>]+)_[^_]*$
。第一个捕获组包含您要提取的内容。
在捕获组之后,我们匹配一个_
, 重复非下划线字符任意多次,然后匹配一个换行符。
如果这不令人满意,您可以改用积极的前瞻:[^>]+(?=_[^_]*$)
.
推荐阅读
- android - 使底部导航视图背景透明
- c# - 在 DLLImport 中使用 DLL 名称的变量
- django-rest-framework - DRF 在使用 Axios 发布的 JSON 对象中获取空数组
- java - Gradle 同步失败。构建失败并出现异常。build.gradle 的异常内容?IDE 致命错误也
- php - Laravel 6.x 包含用于 Blade 的模型以在任何视图中使用它
- python - 使用 selenium 抓取多个 javascript 网站可以更快吗?
- python - Python subprocess.run 以安全的方式运行
- python - 在多核上运行 keras API 多输入/输出
- r - UseMethod(“select_”)中的Rmarkdown错误退出错误:没有适用于“select_”的适用方法应用于类“函数”的对象
- node.js - 如何使用电报机器人回复引用消息?