You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

正则表达式匹配求助:提取目标字符串并移除末尾'at'

正则优化方案

问题背景

现有日志字符串:

com.jav.orgs.exceptions.sessionException: A1234- problem accessing the session at com.jav.orgview.OpenSessionJVM(JVM Method)

需要提取目标内容:com.jav.orgs.exceptions.sessionException: A1234- problem accessing the session

原正则表达式exceptions.sessionException:(?[\s\w-]+ )匹配结果末尾多了"at",不符合预期。

优化后的正则表达式

方案1:精准匹配到" at "前的内容

(com.jav.orgs.exceptions.sessionException: .+?)(?= at )
  • 解释:
    • (.+?):非贪婪模式匹配任意字符,避免过度匹配后续内容
    • (?= at ):正向预查,确保匹配到" at "这个固定分隔符前停止,不会包含"at"

方案2:限定字符范围适配场景

如果目标内容本身不会出现"at"开头的片段,也可以用更严格的字符匹配:

(com.jav.orgs.exceptions.sessionException: [\w\s-]+)(?=\s+at)
  • 解释:
    • ([\w\s-]+):仅匹配字母、数字、空白、连字符,适配目标内容的字符类型
    • (?=\s+at):正向预查,匹配到空白+at的位置时终止

验证效果

使用优化后的正则匹配原日志,可直接得到预期的完整目标内容:com.jav.orgs.exceptions.sessionException: A1234- problem accessing the session

内容的提问来源于stack exchange,提问作者venky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 15:46:03