Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
135 changes: 68 additions & 67 deletions scriptures/bible_re.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,74 +4,74 @@
# Testaments, Book Name, Osis Abbreviation (Also preferred abbreviation), Regex,
# Chapters with Verse counts
testaments = {'ot': (
('Genesis', 'Gen', 'Gen(?:esis)?', [31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 55, 32, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26]),
('Exodus', 'Exod', 'Exod(?:us)?', [22, 25, 22, 31, 23, 30, 25, 32, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 36, 31, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38]),
('Leviticus', 'Lev', 'Lev(?:iticus)?', [17, 16, 17, 35, 19, 30, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34]),
('Numbers', 'Num', 'Num(?:bers)?', [54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 33, 45, 41, 50, 13, 32, 22, 29, 35, 41, 30, 25, 18, 65, 23, 31, 40, 16, 54, 42, 56, 29, 34, 13]),
('Deuteronomy', 'Deut', 'Deut(?:eronomy)?', [46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 32, 18, 29, 23, 22, 20, 22, 21, 20, 23, 30, 25, 22, 19, 19, 26, 68, 29, 20, 30, 52, 29, 12]),
('Joshua', 'Josh', 'Josh(?:ua)?', [18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33]),
('Judges', 'Judg', 'Judg(?:es)?', [36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25]),
('Ruth', 'Ruth', 'Ruth', [22, 23, 18, 22]),
('I Samuel', '1Sam', '(?:1|I)(?:\s)?Sam(?:uel)?', [28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 42, 15, 23, 29, 22, 44, 25, 12, 25, 11, 31, 13]),
('II Samuel', '2Sam', '(?:2|II)(?:\s)?Sam(?:uel)?', [27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 33, 43, 26, 22, 51, 39, 25]),
('I Kings', '1Kgs', '(?:1|I)(?:\s)?K(?:in)?gs', [53, 46, 28, 34, 18, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 53]),
('II Kings', '2Kgs', '(?:2|II)(?:\s)?K(?:in)?gs', [18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 21, 21, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30]),
('I Chronicles', '1Chr', '(?:1|I)(?:\s)?Chr(?:o(?:n(?:icles)?)?)?', [54, 55, 24, 43, 26, 81, 40, 40, 44, 14, 47, 40, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30]),
('II Chronicles', '2Chr', '(?:2|II)(?:\s)?Chr(?:o(?:n(?:icles)?)?)?', [17, 18, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 22, 15, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23]),
('Ezra', 'Ezra', 'Ezra', [11, 70, 13, 24, 17, 22, 28, 36, 15, 44]),
('Nehemiah', 'Neh', 'Neh(?:emiah)?', [11, 20, 32, 23, 19, 19, 73, 18, 38, 39, 36, 47, 31]),
('Esther', 'Esth', 'Esth(?:er)?', [22, 23, 15, 17, 14, 14, 10, 17, 32, 3]),
('Job', 'Job', 'Job', [22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 30, 24, 34, 17]),
('Psalms', 'Ps', 'Ps(?:a)?(?:lm(?:s)?)?', [6, 12, 8, 8, 12, 10, 17, 9, 20, 18, 7, 8, 6, 7, 5, 11, 15, 50, 14, 9, 13, 31, 6, 10, 22, 12, 14, 9, 11, 12, 24, 11, 22, 22, 28, 12, 40, 22, 13, 17, 13, 11, 5, 26, 17, 11, 9, 14, 20, 23, 19, 9, 6, 7, 23, 13, 11, 11, 17, 12, 8, 12, 11, 10, 13, 20, 7, 35, 36, 5, 24, 20, 28, 23, 10, 12, 20, 72, 13, 19, 16, 8, 18, 12, 13, 17, 7, 18, 52, 17, 16, 15, 5, 23, 11, 13, 12, 9, 9, 5, 8, 28, 22, 35, 45, 48, 43, 13, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 13, 10, 7, 12, 15, 21, 10, 20, 14, 9, 6]),
('Proverbs', 'Prov', 'Prov(?:erbs)?', [33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31]),
('Ecclesiastes', 'Eccl', 'Ecc(?:l(?:es(?:iastes)?)?)?', [18, 26, 22, 16, 20, 12, 29, 17, 18, 20, 10, 14]),
('Song of Solomon', 'Song', 'Song(?: of Sol(?:omon)?)?', [17, 17, 11, 16, 16, 13, 13, 14]),
('Isaiah', 'Isa', 'Isa(?:iah)?', [31, 22, 26, 6, 30, 13, 25, 22, 21, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 12, 25, 24]),
('Jeremiah', 'Jer', 'Jer(?:emiah)?', [19, 37, 25, 31, 31, 30, 34, 22, 26, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34]),
('Lamentations', 'Lam', 'Lam(?:entations)?', [22, 22, 66, 22, 22]),
('Ezekiel', 'Ezek', 'Ezek(?:iel)?', [28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 49, 32, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35]),
('Daniel', 'Dan', 'Dan(?:iel)?', [21, 49, 30, 37, 31, 28, 28, 27, 27, 21, 45, 13]),
('Hosea', 'Hos', 'Hos(?:ea)?', [11, 23, 5, 19, 15, 11, 16, 14, 17, 15, 12, 14, 16, 9]),
('Joel', 'Joel', 'Joel', [20, 32, 21]),
('Amos', 'Amos', 'Amos', [15, 16, 15, 13, 27, 14, 17, 14, 15]),
('Obadiah', 'Obad', 'Obad(?:iah)?', [21]),
('Jonah', 'Jonah', 'Jon(?:ah)?', [17, 10, 10, 11]),
('Micah', 'Mic', 'Mic(?:ah)?', [16, 13, 12, 13, 15, 16, 20]),
('Nahum', 'Nah', 'Nah(?:um)?', [15, 13, 19]),
('Genesis', 'Gen', 'Gn|Ge(?:n(?:esis)?)?', [31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 55, 32, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26]),
('Exodus', 'Exod', 'Ex(?:o(?:d(?:us)?)?)?', [22, 25, 22, 31, 23, 30, 25, 32, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 36, 31, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38]),
('Leviticus', 'Lev', 'Lv|Le(?:v(?:iticus)?)?', [17, 16, 17, 35, 19, 30, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34]),
('Numbers', 'Num', 'Nm|Nb|Nu(?:m(?:bers)?)?', [54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 33, 45, 41, 50, 13, 32, 22, 29, 35, 41, 30, 25, 18, 65, 23, 31, 40, 16, 54, 42, 56, 29, 34, 13]),
('Deuteronomy', 'Deut', 'Dt|De(?:ut(?:eronomy)?)?', [46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 32, 18, 29, 23, 22, 20, 22, 21, 20, 23, 30, 25, 22, 19, 19, 26, 68, 29, 20, 30, 52, 29, 12]),
('Joshua', 'Josh', 'Jsh|Jos(?:h(?:ua)?)?', [18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33]),
('Judges', 'Judg', 'Jdg|Jg|Jdgs|Judg(?:es)?', [36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25]),
('Ruth', 'Ruth', 'Rth|Ru(?:th)?', [22, 23, 18, 22]),
('I Samuel', '1Sam', '(?:1|I)(?:\s)?Sa(?:m(?:uel)?)?', [28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 42, 15, 23, 29, 22, 44, 25, 12, 25, 11, 31, 13]),
('II Samuel', '2Sam', '(?:2|II)(?:\s)?Sa(?:m(?:uel)?)?', [27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 33, 43, 26, 22, 51, 39, 25]),
('I Kings', '1Kgs', '(?:1|I)(?:\s)?K(?:i(?:n(?:gs)?)?)?', [53, 46, 28, 34, 18, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 53]),
('II Kings', '2Kgs', '(?:2|II)(?:\s)?K(?:i(?:n(?:gs)?)?)?', [18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 21, 21, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30]),
('I Chronicles', '1Chr', '(?:1|I)(?:\s)?Ch(?:r(?:o(?:n(?:icles)?)?)?)?', [54, 55, 24, 43, 26, 81, 40, 40, 44, 14, 47, 40, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30]),
('II Chronicles', '2Chr', '(?:2|II)(?:\s)?Ch(?:r(?:o(?:n(?:icles)?)?)?)?', [17, 18, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 22, 15, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23]),
('Ezra', 'Ezra', 'Ezr(?:a)?', [11, 70, 13, 24, 17, 22, 28, 36, 15, 44]),
('Nehemiah', 'Neh', 'Ne(?:h(?:emiah)?)?', [11, 20, 32, 23, 19, 19, 73, 18, 38, 39, 36, 47, 31]),
('Esther', 'Esth', 'Es(?:th(?:er)?)?', [22, 23, 15, 17, 14, 14, 10, 17, 32, 3]),
('Job', 'Job', 'J(?:o)?b', [22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 30, 24, 34, 17]),
('Psalms', 'Ps', 'Ps(?:a)?(?:lm)?(?:s)?', [6, 12, 8, 8, 12, 10, 17, 9, 20, 18, 7, 8, 6, 7, 5, 11, 15, 50, 14, 9, 13, 31, 6, 10, 22, 12, 14, 9, 11, 12, 24, 11, 22, 22, 28, 12, 40, 22, 13, 17, 13, 11, 5, 26, 17, 11, 9, 14, 20, 23, 19, 9, 6, 7, 23, 13, 11, 11, 17, 12, 8, 12, 11, 10, 13, 20, 7, 35, 36, 5, 24, 20, 28, 23, 10, 12, 20, 72, 13, 19, 16, 8, 18, 12, 13, 17, 7, 18, 52, 17, 16, 15, 5, 23, 11, 13, 12, 9, 9, 5, 8, 28, 22, 35, 45, 48, 43, 13, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 13, 10, 7, 12, 15, 21, 10, 20, 14, 9, 6]),
('Proverbs', 'Prov', 'Prv|Pr(?:ov(?:erbs)?)?', [33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31]),
('Ecclesiastes', 'Eccl', 'Qoh|Qoheleth|Ec(?:c(?:l(?:es(?:iastes)?)?)?)?', [18, 26, 22, 16, 20, 12, 29, 17, 18, 20, 10, 14]),
('Song of Solomon', 'Song', 'SOS|Song of Songs|Canticle of Canticles|So(?:ng(?: of Sol(?:omon)?)?)?', [17, 17, 11, 16, 16, 13, 13, 14]),
('Isaiah', 'Isa', 'Is(?:a(?:iah)?)?', [31, 22, 26, 6, 30, 13, 25, 22, 21, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 12, 25, 24]),
('Jeremiah', 'Jer', 'Jr|Je(?:r(?:emiah)?)?', [19, 37, 25, 31, 31, 30, 34, 22, 26, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34]),
('Lamentations', 'Lam', 'La(?:m(?:entations)?)?', [22, 22, 66, 22, 22]),
('Ezekiel', 'Ezek', 'Ezk|Ez(?:e(?:k(?:iel)?)?)?', [28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 49, 32, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35]),
('Daniel', 'Dan', 'Dn|Da(?:n(?:iel)?)?', [21, 49, 30, 37, 31, 28, 28, 27, 27, 21, 45, 13]),
('Hosea', 'Hos', 'Ho(?:s(?:ea)?)?', [11, 23, 5, 19, 15, 11, 16, 14, 17, 15, 12, 14, 16, 9]),
('Joel', 'Joel', 'Jl|Joe(?:l)?', [20, 32, 21]),
('Amos', 'Amos', 'Am(?:os)?', [15, 16, 15, 13, 27, 14, 17, 14, 15]),
('Obadiah', 'Obad', 'Ob(?:ad(?:iah)?)?', [21]),
('Jonah', 'Jonah', 'Jnh|Jon(?:ah)?', [17, 10, 10, 11]),
('Micah', 'Mic', 'Mi(?:c(?:ah)?)?', [16, 13, 12, 13, 15, 16, 20]),
('Nahum', 'Nah', 'Na(?:h(?:um)?)?', [15, 13, 19]),
('Habakkuk', 'Hab', 'Hab(?:akkuk)?', [17, 20, 19]),
('Zephaniah', 'Zeph', 'Zeph(?:aniah)?', [18, 15, 20]),
('Haggai', 'Hag', 'Hag(?:gai)?', [15, 23]),
('Zechariah', 'Zech', 'Zech(?:ariah)?', [21, 13, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21]),
('Malachi', 'Mal', 'Mal(?:achi)?', [14, 17, 18, 6]),
('Zephaniah', 'Zeph', 'Zp|Zep(?:h(?:aniah)?)?', [18, 15, 20]),
('Haggai', 'Hag', 'Hg|Hag(?:gai)?', [15, 23]),
('Zechariah', 'Zech', 'Zc|Ze(?:c(?:h(?:ariah)?)?)?', [21, 13, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21]),
('Malachi', 'Mal', 'Ml|Mal(?:achi)?', [14, 17, 18, 6]),
),
'nt': (
('Matthew', 'Matt', 'Matt(?:hew)?', [25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 27, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20]),
('Mark', 'Mark', 'Mark', [45, 28, 35, 41, 43, 56, 37, 38, 50, 52, 33, 44, 37, 72, 47, 20]),
('Luke', 'Luke', 'Luke', [80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53]),
('John', 'John', '(?<!(?:1|2|3|I)\s)(?<!(?:1|2|3|I))John', [51, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25]),
('Acts', 'Acts', 'Acts', [26, 47, 26, 37, 42, 15, 60, 40, 43, 48, 30, 25, 52, 28, 41, 40, 34, 28, 41, 38, 40, 30, 35, 27, 27, 32, 44, 31]),
('Romans', 'Rom', 'Rom(?:ans)?', [32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 23, 33, 27]),
('I Corinthians', '1Cor', '(?:1|I)(?:\s)?Cor(?:inthians)?', [31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24]),
('II Corinthians', '2Cor', '(?:2|II)(?:\s)?Cor(?:inthians)?', [24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 14]),
('Galatians', 'Gal', 'Gal(?:atians)?', [24, 21, 29, 31, 26, 18]),
('Ephesians', 'Eph', 'Eph(?:esians)?', [23, 22, 21, 32, 33, 24]),
('Philippians', 'Phil', 'Phil(?:ippians)?', [30, 30, 21, 23]),
('Matthew', 'Matt', 'Mt|Mat(?:t(?:hew)?)?', [25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 27, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20]),
('Mark', 'Mark', 'Mr|Mk|M(?:a)?rk', [45, 28, 35, 41, 43, 56, 37, 38, 50, 52, 33, 44, 37, 72, 47, 20]),
('Luke', 'Luke', 'Lk|Lu(?:k(?:e)?)?', [80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53]),
('John', 'John', '(?<!(?:1|2|3|I)\s)(?<!(?:1|2|3|I))Jno|Jon|John|Jn', [51, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25]),
('Acts', 'Acts', 'Ac(?:ts)?', [26, 47, 26, 37, 42, 15, 60, 40, 43, 48, 30, 25, 52, 28, 41, 40, 34, 28, 41, 38, 40, 30, 35, 27, 27, 32, 44, 31]),
('Romans', 'Rom', 'Rm|Ro(?:m(?:ans)?)?', [32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 23, 33, 27]),
('I Corinthians', '1Cor', '(?:1|I)(?:\s)?Co(?:r(?:inthians)?)?', [31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24]),
('II Corinthians', '2Cor', '(?:2|II)(?:\s)?Co(?:r(?:inthians)?)?', [24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 14]),
('Galatians', 'Gal', 'Ga(?:l(?:atians)?)?', [24, 21, 29, 31, 26, 18]),
('Ephesians', 'Eph', 'Ep(?:h(?:es(?:ians)?)?)?', [23, 22, 21, 32, 33, 24]),
('Philippians', 'Phil', 'Ph(?:il(?:ippians)?)?', [30, 30, 21, 23]),
('Colossians', 'Col', 'Col(?:ossians)?', [29, 23, 25, 18]),
('I Thessalonians', '1Thess', '(?:1|I)(?:\s)?Thess(?:alonians)?', [10, 20, 13, 18, 28]),
('II Thessalonians', '2Thess', '(?:2|II)(?:\s)?Thess(?:alonians)?', [12, 17, 18]),
('I Timothy', '1Tim', '(?:1|I)(?:\s)?Tim(?:othy)?', [20, 15, 16, 16, 25, 21]),
('II Timothy', '2Tim', '(?:2|II)(?:\s)?Tim(?:othy)?', [18, 26, 17, 22]),
('I Thessalonians', '1Thess', '(?:1|I)(?:\s)?Th(?:es(?:s(?:alonians)?)?)?', [10, 20, 13, 18, 28]),
('II Thessalonians', '2Thess', '(?:2|II)(?:\s)?Th(?:es(?:s(?:alonians)?)?)?', [12, 17, 18]),
('I Timothy', '1Tim', '(?:1|I)(?:\s)?Ti(?:m(?:othy)?)?', [20, 15, 16, 16, 25, 21]),
('II Timothy', '2Tim', '(?:2|II)(?:\s)?Ti(?:m(?:othy)?)?', [18, 26, 17, 22]),
('Titus', 'Titus', 'Tit(?:us)?', [16, 15, 15]),
('Philemon', 'Phlm', 'Phlm|Phile(?:m(?:on)?)?', [25]),
('Hebrews', 'Heb', 'Heb(?:rews)?', [14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25]),
('James', 'Jas', 'Ja(?:me)?s', [27, 26, 18, 17, 20]),
('I Peter', '1Pet', '(?:1|I)(?:\s)?Pet(?:er)?', [25, 25, 22, 19, 14]),
('II Peter', '2Pet', '(?:2|II)(?:\s)?Pet(?:er)?', [21, 22, 18]),
('I John', '1John', '(?:(?:1|I)(?:\s)?)John', [10, 29, 24, 21, 21]),
('II John', '2John', '(?:(?:2|II)(?:\s)?)John', [13]),
('III John', '3John', '(?:(?:3|III)(?:\s)?)John', [14]),
('Jude', 'Jude', 'Jude', [25]),
('Revelation of Jesus Christ', 'Rev', 'Rev(?:elation)?(?:\sof Jesus Christ)?', [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 17, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21]),
('Philemon', 'Phlm', 'Phm|Phlm|Phile(?:m(?:on)?)?', [25]),
('Hebrews', 'Heb', 'He(?:b(?:rews)?)?', [14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25]),
('James', 'Jas', 'Jm|Ja(?:me)?s?', [27, 26, 18, 17, 20]),
('I Peter', '1Pet', '(?:1|I)(?:\s)?Pe(?:t(?:er)?)?', [25, 25, 22, 19, 14]),
('II Peter', '2Pet', '(?:2|II)(?:\s)?Pe(?:t(?:er)?)?', [21, 22, 18]),
('I John', '1John', '(?:(?:1|I)(?:\s)?)Jno|Jon|John|Jn', [10, 29, 24, 21, 21]),
('II John', '2John', '(?:(?:2|II)(?:\s)?)Jno|Jon|John|Jn', [13]),
('III John', '3John', '(?:(?:3|III)(?:\s)?)Jno|Jon|John|Jn', [14]),
('Jude', 'Jude', 'Ju(?:de)?', [25]),
('Revelation of Jesus Christ', 'Rev', 'Re(?:v(?:elation)?)?(?:\sof Jesus Christ)?', [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 17, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21]),
),}

def get_book_re():
Expand All @@ -88,12 +88,13 @@ def get_book_re():

# compiled scripture reference regular expression
scripture_re = re.compile(
r'\b(?P<BookTitle>%s)\s*' \
r'\b(?P<BookTitle>%s)\.?\s*' \
'(?P<ChapterNumber>\d{1,3})' \
'(?:\s*:\s*(?P<VerseNumber>\d{1,3}))?' \
'(?:\s*[-\u2013\u2014]\s*' \
'(?:\s*[:.]\s*(?P<VerseNumber>\d{1,3}))?' \
'(?:\s*[,-\u2013\u2014]\s*' \
'(?P<EndChapterNumber>\d{1,3}(?=\s*:\s*))?' \
'(?:\s*:\s*)?' \
'(?:\s*[:.]\s*)?' \
'(?:\s*\d{1,3},\s*)*' \
'(?P<EndVerseNumber>\d{1,3})?' \
')?' % (book_re_string,), re.IGNORECASE | re.UNICODE)