我正在尝试从字符串中获取法律文章,但我的正则表达式在每一篇法律文章中都会 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/