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

R语言如何从首个方括号、末尾圆括号拆分法律引用字符串

法律引注字段拆分正则实现方案

核心匹配正则

使用支持贪婪/非贪婪匹配的通用正则即可完成四个字段的一次性拆分,正则表达式如下:

^(.+?)\s*\[(\d{4})\]\s*(.+)\s*\(([^()]+)\)\s*$

正则共设置4个捕获组,按顺序对应需要拆分的四个字段:

  • 捕获组1:案件双方名称,采用非贪婪匹配规则,从字符串起始位置匹配到首个方括号(即年份括号)前截止,兼容案件名内部带圆括号的场景
  • 捕获组2:裁判年份,匹配首个方括号内的4位数字内容
  • 捕获组3:引注数据,采用贪婪匹配规则,匹配年份方括号闭合后到最后一个圆括号前的所有内容,兼容引注内部带方括号、圆括号的场景
  • 捕获组4:权威裁判机构,匹配字符串末尾最后一个圆括号内的无嵌套括号内容

代码使用示例(Python)

import re

# 测试引注字符串
test_citation = "Lubrizol Corporation, USA v. Asstt. DIT (International Taxation) [2013] 33 taxmann.com 424/60 SOT 118 (URO) (Mum. Trib.)"
# 编译正则
citation_pattern = re.compile(r'^(.+?)\s*\[(\d{4})\]\s*(.+)\s*\(([^()]+)\)\s*$')
match_res = citation_pattern.match(test_citation)

if match_res:
    case_name, judge_year, citation_data, authority = match_res.groups()
    # 输出结果与预期完全一致
    print(case_name)    # 输出:Lubrizol Corporation, USA v. Asstt. DIT (International Taxation)
    print(judge_year)   # 输出:2013
    print(citation_data)# 输出:33 taxmann.com 424/60 SOT 118 (URO)
    print(authority)    # 输出:Mum. Trib.

适配前提说明

该正则可正常工作的前提符合给定格式约定:

  • 字符串中第一个出现的方括号对固定包裹4位数字的裁判年份,案件名称段内部不会出现[四位数字]格式的内容
  • 字符串末尾的最后一个圆括号对内部不存在嵌套圆括号,固定存储权威裁判机构信息
  • 全字符串首尾无多余干扰字符

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 08:27:42