簡體   English   中英

尋找正則表達式以在文本文件中查找長文件名

[英]Looking for a regex to find long filenames in a text file

我正在使用正則表達式在文本中查找文件名,但它在包含空格的文件名上失敗了。

這是正則表達式模式:

  pattern = r"([a-zA-Z0-9_-]+\.(?:jpg|jpeg|png|gif))"

當在文本上運行時(見下文)它只檢測文件名的最后一部分:

['NL-RtSA_999-09_1955B3_0041.jpg', '21-11-1955.jpg', 'voorzijde.png', 'achterzijde.png']

這是它正在掃描的文本:

0007 Willem Oliemans x Jannigje de Jong


0076 Willem Oliemans 19-01-1901 - BS Rotterdam - Overlijden 21-11-1955 - NL-RtSA_999-09_1955B3_0041.jpg
0076 Willem Oliemans 19-01-1901 - BS Rotterdam - Overlijden 21-11-1955.jpg

https://stadsarchief.rotterdam.nl/zoek-en-ontdek/archieven/zoekrestultaat-archieven/?mivast=184&miadt=184&miaet=54&micode=999-09.1955B3&minr=20800725&miview=ldt
https://www.openarch.nl/srt:c2bfa32b-d519-eb8a-c77e-e867d317998f

Gebeurtenis: Overlijden op 21 november 1955 te Rotterdam
Personen:
- Overledene > Willem Oliemans
- Vader > Jacobus Pieter Oliemans
- Moeder > Catharina Wilhelmina Duindam
- Eerder overleden echtgeno(o)t(e) > Jannigje de Jong
Bron: Stadsarchief Rotterdam, Rotterdam, BS Overlijden.
Nadere toegang op het overlijdensregister van de gemeente Rotterdam, Rotterdam, archiefnummer 999-09, inventarisnummer 1955B3, 1 januari 1955, aktenummer 1955.2389, folio b3-040v

Event: Death on 21 November 1955 in Rotterdam
Persons:
- Deceased > Willem Oliemans
- Father > Jacobus Pieter Oliemans
- Mother > Catharina Wilhelmina Duindam
- Eerder overleden echtgeno(o)t(e) > Jannigje de Jong
Source: Stadsarchief Rotterdam, Rotterdam, BS Overlijden
Nadere toegang op het overlijdensregister van de gemeente Rotterdam, Rotterdam, archive number 999-09, inventory number 1955B3, 1 January 1955, record number 1955.2389, folio b3-040v


0007 Willem Oliemans x Jannigje de Jong - 19-12-1901 - BR Rotterdam - Gezinskaart - 1 voorzijde.png
0007 Willem Oliemans x Jannigje de Jong - 19-12-1901 - BR Rotterdam - Gezinskaart - 2 achterzijde.png

0034 Jannigje de Jong 13-09-1910 - Gezinskaart Rotterdam - 1 voorzijde -
0034 Jannigje de Jong 13-09-1910 - Gezinskaart Rotterdam - 2 achterzijde -

我期待這 4 個文件名:

0076 Willem Oliemans 19-01-1901 - BS Rotterdam - Overlijden 21-11-1955 - NL-RtSA_999-09_1955B3_0041.jpg
0076 Willem Oliemans 19-01-1901 - BS Rotterdam - Overlijden 21-11-1955.jpg
0007 Willem Oliemans x Jannigje de Jong - 19-12-1901 - BR Rotterdam - Gezinskaart - 1 voorzijde.png
0007 Willem Oliemans x Jannigje de Jong - 19-12-1901 - BR Rotterdam - Gezinskaart - 2 achterzijde.png

我嘗試了其他幾個正則表達式,但這些甚至沒有檢測到文件名,比如這個:

pattern = r'^[^\s]+\.(jpg|jpeg|png|gif)$'

但我是 regex 的新手,雖然我在 regex101 這樣的網站上進行過測試,但我真的不知道我在這里做什么。

要支持空格,您應該像這樣在正則表達式中添加一個空格:

r"([a-zA-Z0-9 _-]+.\.(?:jpg|jpeg|png|gif))"

您可以使用這種模式:

^.+\.(?:jpg|jpeg|png|gif)$ /gm

  1. ^$分別標記行的開始和結束
  2. .+匹配一個或多個字符(行終止符除外)

演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM