RegEx多行返回参考

时间:2015-02-10 07:32:24

标签: regex regex-lookarounds

我试图解析有关家谱的文字。每个重要人物都由位于行首的数字引用,并且可以在此正则表达式中找到:

/¦(\d+)/g

暂时忽略名称和其他信息。我试图建立一个家谱。他的孩子被列在不同的线下。他们会在这个正则表达式中找到:

/(\d+)\.\s[ivx]+\./g

有些孩子不重要,他们没有参考号,只有罗马身份证。

这是一个文本摘录(法语):

¦1873. Nicolas Chesne. Il s’est marié avec Catherine DeLavigne (1874). 
   Nicolas Chesne et Catherine DeLavigne ont eu un garçon :
1130.   i.  Bertrand Chenay. Il a été baptisé le 20 février 1622 à Yffiniac, St-Brieuc, Bretagne, France. Il s’est marié le 7 août 1656 à Québec, QC avec Marie Madeleine Belanger (1131), fille de Francois Belanger (1875) et de Marie Marthe Andree Guyon (1876). Marie Madeleine est décédée avant le 21 janvier 1671 à QC. Bertrand a été marchand. Il est décédé le 16 janvier 1683 à Québec, QC. Il a été inhumé le lendemain au même endroit. 

¦1875. Francois Belanger, fils de Francois Belanger (2724) et de Francoise Horlays (2725). Il est né vers 1616 à Lisieux, Normandie, France. Il s’est marié le 12 juillet 1637, vers l’âge de 20 ou 21 ans à Notre-Dame, Québec, QC avec Marie Marthe Andree Guyon (1876), âgée de treize ans, fille de Jean Guyon (1993) et de Marie Mathurine Madeleine Robin-Boule (1994). Francois est décédé vers avril 1687, vers l’âge de 70 ou 71 ans à Montmorency, QC. 
¦1876. Marie Marthe Andree Guyon. Elle est née le 12 mars 1624 à St-Jean-d’Angely, Saintes, Saintonge, France et a été baptisée le 18 mars 1624 au même endroit. Elle est décédée le 29 août 1696, à l’âge de 72 ans au Cap St-Ignace, Montmagny, QC. Elle a été inhumée le 1er octobre 1696 au même endroit. 
   Francois Belanger et Marie Marthe Andree Guyon ont eu treize enfants (six garçons et sept filles) :
    i.  Nicolas Belanger. Il est né vers 1633 à St-Thomas de Touques, Lisieux, Normandie, France. Il s’est marié le 11 janvier 1660, vers l’âge de 26 ou 27 ans à Québec, QC avec Marie Rainville, âgée d’environ 19 ou 20 ans, fille de Paul de Rainville (2513) et de Rolline Pauline Poete (2514). Marie est née vers 1640 à St-Thomas de Touques, Lisieux, Normandie, France. Elle est décédée le 6 novembre 1711, vers l’âge de 70 ou 71 ans à Beauport, Québec, QC. Nicolas est décédé le 19 octobre 1682, vers l’âge de 48 ou 49 ans à Beauport, Québec, QC. Il a été inhumé le lendemain au même endroit. 
2802.   ii. Charles Belanger (ancêtre de Pollus par Diane). Il a été baptisé le 19 août 1640 à Québec, QC. Il s’est marié le 21 novembre 1663 à Château-Richer, Montmorency, QC avec Barbe Delphine Cloutier (2803), fille de Zacharie Cloutier (1495) et de Marie Madeleine Aymard (1496). Barbe Delphine est décédée le 24 avril 1711 à Château-Richer, Montmorency, QC. Charles est décédé le 14 décembre 1692 à Château-Richer, Montmorency, QC. Il a été inhumé le lendemain au même endroit. 
1131.   iii.    Marie Madeleine Belanger (ancêtre de Pollus par Diane). Elle a été baptisée le 15 février 1643 à Québec, QC. Elle s’est mariée le 7 août 1656 à Québec, QC avec Bertrand Chenay (1130), fils de Nicolas Chesne (1873) et de Catherine DeLavigne (1874). Bertrand est décédé le 16 janvier 1683 à Québec, QC. Marie Madeleine est décédée avant le 21 janvier 1671 à QC. 
    iv. Marguerite Belanger. Elle a été baptisée le 23 novembre 1645 à Notre-Dame, Québec, QC. Elle s’est mariée le 19 novembre 1663 à Notre-Dame-de-la-Visitation, Château-Richer, Montmorency, QC avec Antoine Berson, âgé d’environ 22 ou 23 ans. Il est né vers 1640 à St-Jacques-de-la-Boucherie, Paris, Ile-de-France, France. Il est décédé avant le 4 juillet 1665, avant l’âge de 25 ans à Château-Richer, Montmorency, QC. Plus tard, Marguerite s’est remariée le 13 décembre 1666 à Château-Richer, Montmorency, QC avec Louis Levasseur, âgé d’environ 29 ou 30 ans. Il est né vers 1636 à St-Jacques, Paris, Île de France, France. Marguerite a été inhumée le 22 janvier 1703 à Notre-Dame, Québec, QC. 
    v.  Jean Francois Belanger. Il a été baptisé le 15 février 1648 à Québec, QC. Il s’est marié le 17 novembre 1671 à Château-Richer, Montmorency, QC avec Marie Cloutier, âgée de seize ans, fille de Jean Cloutier (1155) et de Marie Martin (1156). Marie est née le 16 février 1655. Elle est décédée le 22 avril 1713, à l’âge de 58 ans à L’Islet-sur-mer, L’Islet, QC. Jean Francois a été capitaine de Milice de la Seigneurie de Bonsecours. Il est décédé le 5 février 1682 au Cap St-Ignace, Montmagny, QC. Il a été inhumé le lendemain au même endroit. 
2421.   vi. Marie Charlotte Francoise Belanger (ancêtre de Pollus par Joseph Albert André). Elle a été baptisée le 30 juin 1650 à Québec, QC. Elle s’est mariée le 19 octobre 1665 à La-Visitation-de-Notre-Dame, Château-Richer, Montmorency, QC avec Jean Langlois (ancêtre de Pollus par Joseph Albert André) (2420), fils de Noel Langlois (2601) et de Francoise Grenier-Garnier (2602). Jean est décédé le 25 août 1687. Ultérieurement, Marie Charlotte Francoise s’est remariée le 4 juillet 1691 à St-Pierre, Île d’Orléans, Montmorency, QC avec Thomas Rousseau, âgé d’environ 59 ou 60 ans. Il est né vers 1631 à Oroux, Poitiers, Poitou, France. Marie Charlotte Francoise a été inhumée le 3 octobre 1710 à Québec, QC. 
    vii.    Mathurine Belanger. Elle est née le 11 juin 1652 à Québec, QC et a été baptisée le 28 octobre 1652 au même endroit. Elle s’est mariée le 18 septembre 1673, à l’âge de vingt et un ans à Château-Richer, Montmorency, QC avec Jean Maheu, fils de Jacques Maheu et d’Anne Convent (3223). Jean est décédé avant le 30 septembre 1674 à Château-Richer, Montmorency, QC. Par la suite, Mathurine s’est remariée le 2 octobre 1674, à l’âge de vingt-deux ans à Château-Richer, Montmorency, QC avec Antoine Deserre, âgé d’environ 35 ou 36 ans. Il est né vers 1638 à St-Amand-de-Boixe, Angoulême, Angoumais, France. Ensuite, Mathurine s’est remariée le 26 avril 1688, à l’âge de 35 ans à Neuville, Portneuf, QC avec Francois Gregoire, âgé d’environ 22 ou 23 ans. Il est né vers 1665 à Ste-Anne, Montpellier, Languedoc, France. Mathurine a été inhumée le 18 janvier 1698 à Neuville, Portneuf, QC. 
    viii.   Louis Belanger. Il est né le 18 décembre 1654 à Québec, QC et a été baptisé le 9 janvier 1655 au même endroit. Il s’est marié le 3 novembre 1682, à l’âge de vingt-sept ans à Château-Richer, Montmorency, QC avec Marguerite Lefrancois, âgée de dix-sept ans, fille de Charles Lefrancois (1607) et de Marie Madeleine Triot (1608). Marguerite est née le 2 février 1665 à Château-Richer, Montmorency, QC. Elle est décédée le 29 octobre 1735, à l’âge de 70 ans. Louis a été inhumé le 1er octobre 1724 à L’Islet-sur-mer, L’Islet, QC. 
    ix. Louise Belanger. Elle est née vers 1657 à QC. Elle s’est mariée le 14 novembre 1679, vers l’âge de 21 ou 22 ans à Château-Richer, Montmorency, QC avec Jean Cloutier, âgé de vingt-sept ans, fils de Jean Cloutier (1155) et de Marie Martin (1156). Jean est né le 20 février 1652 à Québec, QC. Il est décédé le 4 décembre 1709, à l’âge de 57 ans à Château-Richer, Montmorency, QC. Louise a été inhumée le 5 juillet 1726 à Château-Richer, Montmorency, QC. 
    x.  Genevieve Belanger. Elle est née vers 1659. Elle s’est mariée le 23 novembre 1682, vers l’âge de 22 ou 23 ans au Cap St-Ignace, Montmagny, QC avec Guillaume Frete, âgé d’environ 34 ou 35 ans. Il est né vers 1647 à Meaux, Brie, France. 
    xi. Guillaume Belanger. Il est né le 31 mars 1661 à Château-Richer, Montmorency, QC et a été baptisé le 4 avril 1661 au même endroit. Il est décédé en août 1661, à l’âge de 4 ou 5 mois à QC. 
    xii.    Jacques Belanger. Il est né le 24 juillet 1662 à Château-Richer, Montmorency, QC et a été baptisé le 30 juillet 1662 à La-Visitation-de-Notre-Dame, Château-Richer, Montmorency, QC. Il s’est marié le 22 novembre 1691, à l’âge de vingt-neuf ans au Cap St-Ignace, Montmagny, QC avec Marie Elisabeth Thibault, âgée de dix-huit ans. Elle est née le 16 mars 1673 à Ste-Anne-de-Beaupré, Montmorency, QC. Elle est décédée le 12 juin 1756, à l’âge de 83 ans. Jacques a été inhumé le 17 août 1699 à Notre-Dame-de-Bon-Secours, L’Islet-sur-Mer, L’Islet, QC. 
    xiii.   Anne Belanger. Elle est née le 26 juillet 1664 à Château-Richer, Montmorency, QC et a été baptisée le lendemain au même endroit. Elle a été inhumée le 24 août 1665 à Château-Richer, Montmorency, QC. 

我正在尝试使用Notepad ++ RegEx引擎创建一个表(ID,ParentID)(我想我需要使用另一个支持lookbehind的引擎)。但我正试图从另一条线路引用一个小组,我无法让它发挥作用。由于引用位于不同的行上,我认为这将调用全局标志而不是多行标志。在javascript中我会:

/(\d+)\.\s[ivx]+\./g

但我非常确定我需要做一个不受JavaScript和Notepad ++支持的积极观察。以下是我看到此问题的解决方法:首先,我使用(\d+)\.\s[ivx]+\.找到子ID参考,然后使用lookbehind (?<=¦(\d+))

搜索父ID

任何帮助都将不胜感激。

替换输出应该是这个提取:

1130, 1873
2802, 1876
1131, 1876
2421, 1876

由于

0 个答案:

没有答案