正規表現でMARCレコードを解析し、そのフィールドを最初に取得したグループとして返し、その値を2番目に取得したグループとして返したいと思います。ここで私は正規表現のために、これまで持っているものです:MARCレコードを正規表現でどのように解析できますか?
(\n[0-9]{3})[ 0-9]{4}([^\n]*)
が([^\n]*)
のような線で素晴らしい作品次の改行まですべてをバックアップを取得している最後のキャプチャグループ:しかし
001 868229892
100 1 Montgomery, L. M.|q(Lucy Maud),|d1874-1942.,|eauthor.
245 10 Anne of Green Gables /|cL.M. Montgomery.
250 Aladdin hardcover edition.
264 1 New York :|bAladdin,|c2014.
300 440 pages ;|c22 cm
336 text|2rdacontent.
337 unmediated|2rdamedia.
338 volume|2rdacarrier.
それはラインの上に壊れた値になると、正規表現は、もはや機能していない:
520 Anne, an eleven-year-old orphan, is sent by mistake to
live with a lonely, middle-aged brother and sister on a
Prince Edward Island farm and proceeds to make an
indelible impression on everyone around her.
650 0 Shirley, Anne (Fictitious character)|vJuvenile fiction.
は、次の停留所の面積は、上記650
する必要があります。したがって、正規表現では、までのすべてをキャプチャし、改行の後に3桁のが続くはずです。
私は([^\n0-9]*)
を試してみましたが、それ以外の数字または改行以外の文字としてと一致すると解釈されます。その正確なシーケンスで改行と3桁のを一致させる必要があります
これは機能しません。 – JakeParis
regex101でうまく動作します。 – RamenChef