我有一个字符串,看起来像这样:
...
Art. 15 Gegenstand Dieses Gesetz regelt die Bekämpfung der Geldwäscherei im Sinne von Artikel 305 bis des Strafgesetzbuches6 (StGB), die Bekämpfung der Terrorismusfinanzierung im Sinne von Artikel 260quinquies Absatz 1 StGB und die Sicherstellung der Sorgfalt bei Finanzgeschäften.
Art. 22 Geltungsbereich 1 Dieses Gesetz gilt: a. für Finanzintermediäre; b. für natürliche und juristische Personen, die gewerblich mit Gütern handeln und dabei Bargeld entgegennehmen (Händlerinnen und Händler).
...
我正试着把这根线从艺术上分成几部分。XX到下一个艺术。二十。你知道吗
例如,第一个匹配项应该包含以下字符串:
Art. 15 Gegenstand Dieses Gesetz regelt die Bekämpfung der Geldwäscherei im Sinne von Artikel 305 bis des Strafgesetzbuches6 (StGB), die Bekämpfung der Terrorismusfinanzierung im Sinne von Artikel 260quinquies Absatz 1 StGB und die Sicherstellung der Sorgfalt bei Finanzgeschäften.
我试过这个:
x = re.findall(r"Art\. (?s).*(?=Art)",text);
还有这个:
x = re.findall(r"Art\. .+(\n.*)*(?=Art)*",text);
但它似乎并不像预期的那样起作用。。。 我也不确定我应该使用findall还是split。你知道吗
首先,在模式中使用捕获组并将其传递给
re.findall
only the captures will be present in the output时。下一步,你不应该试图量化一个lookaround,它没有任何意义,通常被视为一个用户错误。(?=Art)*
在Python中这里将被视为没有(?=Art)*
,因为它意味着“可以有Art
或者没有Art
”。就像没有展望一样。你知道吗你可以用
参见regex demo
细节
(?m)^
-行首Art\.
-Art.
字符串.*
-行的其余部分(?:\n(?!Art\.).*)*
-0行或多行不以Art.
开头相关问题 更多 >
编程相关推荐