Python 正则表达式 2 或 1 个字符串中的语句

标签 python regex

我正在尝试从字符串中获取法律文章,但我的正则表达式在每一篇法律文章中都会 split 。

def kanunMaddesi(madde):
    r1 = re.compile("[0-9]{3}\/[0-9]{1,2}|[-|\/|.|_| ][a-zA-Z]{1}")
    return r1.findall(madde)

madde = (kanunMaddesi("5237SA 116/1 119/1 C 58/6 53/1 58 58/7."))

列表中的 Python 结果:['116/1', '119/1', ' C']

我期望:['116/1', '119/1 C']

字符串 = 5237SA 116/1 119/1 C 58/6 53/1 58 58/7。

我尝试过这个正则表达式

[0-9]{3}\/[0-9]{1,2}|[-|\/|.|_| ][a-zA-Z]{1}

这个正则表达式的结果是: 5237SA (116/1) (119/1) (C) 58/6 53/1 58 58/7。

我的预期结果: 5237SA (116/1) (119/1 C) 58/6 53/1 58 58/7。

最佳答案

尝试(Regex demo):

import re

def kanunMaddesi(madde):
    r1 = re.compile(r"\b\d{3}\/\d{1,2}(?:[\/._ -][a-zA-Z]{1})?\b")
    return r1.findall(madde)

madde = kanunMaddesi("5237SA 116/1 119/1 C 58/6 53/1 58 58/7.")
print(madde)

打印:

['116/1', '119/1 C']

关于Python 正则表达式 2 或 1 个字符串中的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74969439/

相关文章:

Python 条件 'module object has no attribute' 错误,个​​人包不同于循环导入问题

python - pandas如何以周为单位进行统计?

javascript - 语法错误 : expected expression, 得到 '&' (Django)

Java 正则表达式 : How to search a text or a phrase in a large text

Javascript 正则表达式 .match() 为空

javascript - 在三重奏中拆分字符串并使用javascript从右到左连接一个点

Python MySQL 字典准备语句抛出错误

python - 如何根据日期/月份将 pyspark 数据框中同一列上的行相乘?

c# - 从 xhtml 文档中删除未关闭的开始 <p> 标签

r - 除括号内的内容外,按空格拆分字符串