Python中的Regex,用于在特殊ch之前绘制所有文本

2024-09-30 04:40:13 发布

您现在位置:Python中文网/ 问答频道 /正文

以下是我的部分文字:

text="Q.  1  Incontournable  Cercle 1  _  30 - Gestion Actif / Passif   \nQuel est le dispositif de limites de l’établissement ? Quels indicateurs sont retenus ? Sont-ils \npertinents ? a-t-il été validé par le Comité des risques ? Quelle est la fréquence de revue des \nindicateurs et des limites associées ? (revue a minima annuelle prévue par l’article 224 de l’arrêté \ndu 3 novembre 2014) ? \n    Cliquez ici pour taper du texte. \n \n \n \n  Q.  2       _    ☐ \nCe dispositif respecte-t-il les normes du Groupe BPCE ? \n   \n  Q.  3  Incontournable  Cercle 1  _  30 - Gestion Actif / Passif   \nQuel dispositif se déclenche en cas de dépassements des limites ? L’établissement informe-t-il la \nDRCCP, conformément au Référentiel des Risques de marché Groupe, du plan d’action mis en place \nafin de revenir dans les limites ? L\'information a-telle été remontée au comité des risques et d\'audit \nde l\'établissement ? \n    Contrôle & Test  \nS’assurer de l’existence de procédures de gestion des dépassements de limite incluant \nnotamment les alertes et les plans de retour dans les limites. Vérifier que ce dispositif est \ndocumenté, présenté au Comité des Risques de l’établissement et communiqué à la \nDirection des Risques locale ainsi qu’à la DRCCP BPCE. \n \n  Q.  4       _ "

我想把所有以“Q”开头的片段都拿出来{数字}不可更改“和”Q.“的fnish。 我试过:

(Q\.\W*\d{1,2}\W*Incontournable)([^(Q\.)]*)

我想告诉你:‘把所有不同于“Q.”的字符都取出来。’(我避开了圆点,因为它是一个特殊的字符),但它不起作用。你知道吗?谢谢


Tags: ledelailetaulesest
2条回答

您可以将regex与如下前瞻模式结合使用:

import re
re.findall(r'(\bQ\.\s*\d+\s*Incontournable\b)\s*(.*?)(?=\bQ\.\s*\d+\s*Incontournable\b|$)', text, flags=re.DOTALL)

这将返回:

[('Q.  1  Incontournable', 'Cercle 1  _  30 - Gestion Actif / Passif   \nQuel est le dispositif de limites de l’établissement ? Quels indicateurs sont retenus ? Sont-ils \npertinents ? a-t-il été validé par le Comité des risques ? Quelle est la fréquence de revue des \nindicateurs et des limites associées ? (revue a minima annuelle prévue par l’article 224 de l’arrêté \ndu 3 novembre 2014) ? \n    Cliquez ici pour taper du texte. \n \n \n \n  Q.  2       _    ☐ \nCe dispositif respecte-t-il les normes du Groupe BPCE ? \n   \n  '),
('Q.  3  Incontournable', "Cercle 1  _  30 - Gestion Actif / Passif   \nQuel dispositif se déclenche en cas de dépassements des limites ? L’établissement informe-t-il la \nDRCCP, conformément au Référentiel des Risques de marché Groupe, du plan d’action mis en place \nafin de revenir dans les limites ? L'information a-telle été remontée au comité des risques et d'audit \nde l'établissement ? \n    Contrôle & Test  \nS’assurer de l’existence de procédures de gestion des dépassements de limite incluant \nnotamment les alertes et les plans de retour dans les limites. Vérifier que ce dispositif est \ndocumenté, présenté au Comité des Risques de l’établissement et communiqué à la \nDirection des Risques locale ainsi qu’à la DRCCP BPCE. \n \n  Q.  4       _ ")]

或者,如果您希望捕获所有问题,而不是将其限制为以“Incontournable”开头的问题,则可以将非换行符匹配为您的问题:

re.findall(r'(\bQ\.\s*\d+\b[^\n]*)\s*(.*?)(?=\bQ\.\s*\d+\b|$)', text, flags=re.DOTALL)

这将返回:

[('Q.  1  Incontournable  Cercle 1  _  30 - Gestion Actif / Passif   ', 'Quel est le dispositif de limites de l’établissement ? Quels indicateurs sont retenus ? Sont-ils \npertinents ? a-t-il été validé par le Comité des risques ? Quelle est la fréquence de revue des \nindicateurs et des limites associées ? (revue a minima annuelle prévue par l’article 224 de l’arrêté \ndu 3 novembre 2014) ? \n    Cliquez ici pour taper du texte. \n \n \n \n  '),
('Q.  2       _    ☐ ', 'Ce dispositif respecte-t-il les normes du Groupe BPCE ? \n   \n  '),
('Q.  3  Incontournable  Cercle 1  _  30 - Gestion Actif / Passif   ', "Quel dispositif se déclenche en cas de dépassements des limites ? L’établissement informe-t-il la \nDRCCP, conformément au Référentiel des Risques de marché Groupe, du plan d’action mis en place \nafin de revenir dans les limites ? L'information a-telle été remontée au comité des risques et d'audit \nde l'établissement ? \n    Contrôle & Test  \nS’assurer de l’existence de procédures de gestion des dépassements de limite incluant \nnotamment les alertes et les plans de retour dans les limites. Vérifier que ce dispositif est \ndocumenté, présenté au Comité des Risques de l’établissement et communiqué à la \nDirection des Risques locale ainsi qu’à la DRCCP BPCE. \n \n  "),
('Q.  4       _ ', '')]

这很难,因为即使使用lookahead断言,您也忽略了中间问题:Seehttps://regex101.com/r/1OvwOm/1

为什么不使用string.split("Q.")并将Q.追加回拆分

text="Q.  1  Incontournable  Cercle 1  _  30 - Gestion Actif / Passif   \nQuel est le dispositif de limites de l’établissement ? Quels indicateurs sont retenus ? Sont-ils \npertinents ? a-t-il été validé par le Comité des risques ? Quelle est la fréquence de revue des \nindicateurs et des limites associées ? (revue a minima annuelle prévue par l’article 224 de l’arrêté \ndu 3 novembre 2014) ? \n    Cliquez ici pour taper du texte. \n \n \n \n  Q.  2       _    ☐ \nCe dispositif respecte-t-il les normes du Groupe BPCE ? \n   \n  Q.  3  Incontournable  Cercle 1  _  30 - Gestion Actif / Passif   \nQuel dispositif se déclenche en cas de dépassements des limites ? L’établissement informe-t-il la \nDRCCP, conformément au Référentiel des Risques de marché Groupe, du plan d’action mis en place \nafin de revenir dans les limites ? L\'information a-telle été remontée au comité des risques et d\'audit \nde l\'établissement ? \n    Contrôle & Test  \nS’assurer de l’existence de procédures de gestion des dépassements de limite incluant \nnotamment les alertes et les plans de retour dans les limites. Vérifier que ce dispositif est \ndocumenté, présenté au Comité des Risques de l’établissement et communiqué à la \nDirection des Risques locale ainsi qu’à la DRCCP BPCE. \n \n  Q.  4       _ "

split = ["Q."+t for t in text.split("Q.")]

print(*split,sep="\n       \n")

输出:

Q.
       
Q.  1  Incontournable  Cercle 1  _  30 - Gestion Actif / Passif
Quel est le dispositif de limites de l’établissement ? Quels indicateurs sont retenus ? Sont-ils
pertinents ? a-t-il été validé par le Comité des risques ? Quelle est la fréquence de revue des
indicateurs et des limites associées ? (revue a minima annuelle prévue par l’article 224 de l’arrêté
du 3 novembre 2014) ?
    Cliquez ici pour taper du texte.




       
Q.  2       _    ☐
Ce dispositif respecte-t-il les normes du Groupe BPCE ?


       
Q.  3  Incontournable  Cercle 1  _  30 - Gestion Actif / Passif
Quel dispositif se déclenche en cas de dépassements des limites ? L’établissement informe-t-il la
DRCCP, conformément au Référentiel des Risques de marché Groupe, du plan d’action mis en place
afin de revenir dans les limites ? L'information a-telle été remontée au comité des risques et d'audit
de l'établissement ?
    Contrôle & Test
S’assurer de l’existence de procédures de gestion des dépassements de limite incluant
notamment les alertes et les plans de retour dans les limites. Vérifier que ce dispositif est
documenté, présenté au Comité des Risques de l’établissement et communiqué à la
Direction des Risques locale ainsi qu’à la DRCCP BPCE.


       
Q.  4       _ 

相关问题 更多 >

    热门问题