UNPKG

swordjs

Version:

swordjs - access modules from crosswire.org/sword in JS

506 lines (503 loc) 26.7 kB
bcv_parser::regexps.space = "[\\s\\xa0]" bcv_parser::regexps.escaped_passage = /// (?:^ | [^\x1f\x1e\dA-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ] ) # Beginning of string or not in the middle of a word or immediately following another book. Only count a book if it's part of a sequence: `Matt5John3` is OK, but not `1Matt5John3` ( # Start inverted book/chapter (cb) (?: (?: ch (?: apters? | a?pts?\.? | a?p?s?\.? )? \s* \d+ \s* (?: [\u2013\u2014\-] | through | thru | to) \s* \d+ \s* (?: from | of | in ) (?: \s+ the \s+ book \s+ of )?\s* ) | (?: ch (?: apters? | a?pts?\.? | a?p?s?\.? )? \s* \d+ \s* (?: from | of | in ) (?: \s+ the \s+ book \s+ of )?\s* ) | (?: \d+ (?: th | nd | st ) \s* ch (?: apter | a?pt\.? | a?p?\.? )? \s* #no plurals here since it's a single chapter (?: from | of | in ) (?: \s+ the \s+ book \s+ of )? \s* ) )? # End inverted book/chapter (cb) \x1f(\d+)(?:/\d+)?\x1f #book (?: /\d+\x1f #special Psalm chapters | [\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014] | c[íi]m (?! [a-z] ) #could be followed by a number | fejezet[ée]ben | versekre | fejezet | k[öo]v | versek | [ée]s | v[öo] | vagy | vers | fej | kk | [a-e] (?! \w ) #a-e allows 1:1a | $ #or the end of the string )+ ) ///gi # These are the only valid ways to end a potential passage match. The closing parenthesis allows for fully capturing parentheses surrounding translations (ESV**)**. The last one, `[\d\x1f]` needs not to be +; otherwise `Gen5ff` becomes `\x1f0\x1f5ff`, and `adjust_regexp_end` matches the `\x1f5` and incorrectly dangles the ff. bcv_parser::regexps.match_end_split = /// \d \W* c[íi]m | \d \W* kk (?: [\s\xa0*]* \.)? | \d [\s\xa0*]* [a-e] (?! \w ) | \x1e (?: [\s\xa0*]* [)\]\uff09] )? #ff09 is a full-width closing parenthesis | [\d\x1f] ///gi bcv_parser::regexps.control = /[\x1e\x1f]/g bcv_parser::regexps.pre_book = "[^A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ]" bcv_parser::regexps.first = "(?:Els[őo]|1|I)\\.?#{bcv_parser::regexps.space}*" bcv_parser::regexps.second = "(?:M[áa]sodik|2|II)\\.?#{bcv_parser::regexps.space}*" bcv_parser::regexps.third = "(?:Harmadik|3|III)\\.?#{bcv_parser::regexps.space}*" bcv_parser::regexps.range_and = "(?:[&\u2013\u2014-]|(?:[ée]s|v[öo]|vagy)|k[öo]v)" bcv_parser::regexps.range_only = "(?:[\u2013\u2014-]|k[öo]v)" # Each book regexp should return two parenthesized objects: an optional preliminary character and the book itself. bcv_parser::regexps.get_books = (include_apocrypha, case_sensitive) -> books = [ osis: ["Ps"] apocrypha: true extra: "2" regexp: ///(\b)( # Don't match a preceding \d like usual because we only want to match a valid OSIS, which will never have a preceding digit. Ps151 # Always follwed by ".1"; the regular Psalms parser can handle `Ps151` on its own. )(?=\.1)///g # Case-sensitive because we only want to match a valid OSIS. , osis: ["Gen"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:Els[oő][\s\xa0]*M(?:[oó]zes)|I(?:\.[\s\xa0]*M[oó]zes|[\s\xa0]*M[oó]zes)|M[oó]zes[\s\xa0]*I|1(?:\.[\s\xa0]*M[oó]zes|[\s\xa0]*M(?:(?:[oó]z(?:es)?)|z))|Gen|Ter(?:emt[eé]s)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Exod"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:II(?:\.[\s\xa0]*M[oó]zes|[\s\xa0]*M[oó]zes)|M(?:[aá]sodik[\s\xa0]*M(?:[oó]zes)|[oó]zes[\s\xa0]*II)|2(?:\.[\s\xa0]*M[oó]zes|[\s\xa0]*M(?:(?:[oó]z(?:es)?)|z))|Exod|Kiv(?:onul[aá]s)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Bel"] apocrypha: true regexp: ///(^|#{bcv_parser::regexps.pre_book})( B(?:a[aá]l[\s\xa0]*(?:[eé]s[\s\xa0]*a[\s\xa0]*s(?:[aá]rk(?:[aá]ny)))|[eé]l[\s\xa0]*(?:[eé]s[\s\xa0]*a[\s\xa0]*s(?:[aá]rk(?:[aá]ny))))|B(?:[eé]l) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Lev"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:Harmadik[\s\xa0]*M[oó]zes|III(?:\.[\s\xa0]*M[oó]zes|[\s\xa0]*M[oó]zes)|M[oó]zes[\s\xa0]*III|3(?:\.[\s\xa0]*M[oó]zes|[\s\xa0]*M(?:(?:[oó]z(?:es)?)|z))|Lev(?:it[aá]k)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Num"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:IV(?:\.[\s\xa0]*M[oó]zes|[\s\xa0]*M[oó]zes)|M[oó]zes[\s\xa0]*IV|4(?:\.[\s\xa0]*M[oó]zes|[\s\xa0]*M(?:(?:[oó]z(?:es)?)|z))|Sz(?:[aá]m(?:ok)?)|Num) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Wis"] apocrypha: true regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Salamon[\s\xa0]*b[oö]lcsess(?:[eé]ge)|B[oö]lcs(?:ess(?:[eé]g)?)|Wis)|B(?:[oö]lcs) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Lam"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Jeremi(?:[aá]s[\s\xa0]*sir(?:almai)?)|Siral(?:m(?:ak)?)?|Lam) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Sir"] apocrypha: true regexp: ///(^|#{bcv_parser::regexps.pre_book})( Sir(?:[aá]k[\s\xa0]*fia)|(?:Ecclesiasticus|Sir[aá]k[\s\xa0]*b(?:[oö]lcsess(?:[eé]ge))?)|Sir )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["EpJer"] apocrypha: true regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Jeremi[aá]s[\s\xa0]*levele|EpJer) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Rev"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Apokalipszis|J(?:[aá]nos[\s\xa0]*jelen(?:[eé]sei)|el(?:en[eé]sek)?)|Rev) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["PrMan"] apocrypha: true regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Manass(?:[eé][\s\xa0]*im(?:[aá]ds(?:[aá]ga))|ze[\s\xa0]*im[aá]ja)|PrMan) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Deut"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:M(?:[aá]sodik[\s\xa0]*t(?:[oö]rv(?:[eé]nyk(?:[oö]nyv)))|[oó]zes[\s\xa0]*(?:(?:[oö]t(?:[oö]dik[\s\xa0]*k(?:[oö]nyve))|V))|T[oö]rv)|5[\s\xa0]*M(?:(?:[oó]z(?:es)?)|z)|Deut) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Josh"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( J(?:o(?:sh|zs(?:u[eé])?)|ózs(?:u[eé])?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Judg"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Judg|B(?:[ií]r(?:[aá]k)?)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Ruth"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Ruth? )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["1Esd"] apocrypha: true regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:E(?:ls[oő][\s\xa0]*Ezd(?:r(?:[aá]s)?)|zdr[aá]s[\s\xa0]*I)|I(?:\.[\s\xa0]*Ezd(?:r[aá]s)?|[\s\xa0]*Ezd(?:r[aá]s)?)|1(?:\.[\s\xa0]*Ezd(?:r[aá]s)?|[\s\xa0]*Ezd(?:r[aá]s)?|Esd))|Els(?:[oő][\s\xa0]*Ezd) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["2Esd"] apocrypha: true regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:M[aá]sodik[\s\xa0]*Ezd(?:r(?:[aá]s)?)|Ezdr[aá]s[\s\xa0]*II|II(?:\.[\s\xa0]*Ezd(?:r[aá]s)?|[\s\xa0]*Ezd(?:r[aá]s)?)|2(?:\.[\s\xa0]*Ezd(?:r[aá]s)?|[\s\xa0]*Ezd(?:r[aá]s)?|Esd))|M(?:[aá]sodik[\s\xa0]*Ezd) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Isa"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:[EÉ](?:sai(?:[aá]s|zs(?:ai[aá]s)?))|I(?:sa|z(?:aj[aá]s)?))|[EÉ]zs(?:ai(?:[aá]s)?)|(?:[EÉ]zs) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["2Sam"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:M(?:[aá]sodik[\s\xa0]*S(?:[aá]m(?:uel)?))|S[aá]muel[\s\xa0]*II|II(?:\.[\s\xa0]*S(?:[aá]m(?:uel)?)|[\s\xa0]*S(?:[aá]m(?:uel)?))|2(?:\.[\s\xa0]*S(?:[aá]m(?:uel)?)|[\s\xa0]*S(?:[aá]m(?:uel)?)|Sam)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["1Sam"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:Els(?:[oő][\s\xa0]*S(?:[aá]m(?:uel)?))|S[aá]muel[\s\xa0]*I|I(?:\.[\s\xa0]*S(?:[aá]m(?:uel)?)|[\s\xa0]*S(?:[aá]m(?:uel)?))|1(?:\.[\s\xa0]*S(?:[aá]m(?:uel)?)|[\s\xa0]*S(?:[aá]m(?:uel)?)|Sam)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["2Kgs"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:Kir[aá]lyok[\s\xa0]*II|M(?:[aá]sodik[\s\xa0]*Kir(?:[aá]lyok)?)|II(?:\.[\s\xa0]*Kir(?:[aá]lyok)?|[\s\xa0]*Kir(?:[aá]lyok)?)|2(?:\.[\s\xa0]*Kir(?:[aá]lyok)?|[\s\xa0]*Kir(?:[aá]lyok)?|Kgs)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["1Kgs"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:Kir[aá]lyok[\s\xa0]*I|Els(?:[oő][\s\xa0]*Kir(?:[aá]lyok)?)|I(?:\.[\s\xa0]*Kir(?:[aá]lyok)?|[\s\xa0]*Kir(?:[aá]lyok)?)|1(?:\.[\s\xa0]*Kir(?:[aá]lyok)?|[\s\xa0]*Kir(?:[aá]lyok)?|Kgs)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["2Chr"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:M(?:[aá]sodik[\s\xa0]*Kr(?:[oó]n(?:ika)?))|Kr[oó]nik(?:[aá]k[\s\xa0]*II)|II(?:\.[\s\xa0]*Kr(?:[oó]n(?:ika)?)|[\s\xa0]*Kr(?:[oó]n(?:ika)?))|2(?:\.[\s\xa0]*Kr(?:[oó]n(?:ika)?)|[\s\xa0]*Kr(?:[oó]n(?:ika)?)|Chr)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["1Chr"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:Kr[oó]nik(?:[aá]k[\s\xa0]*I)|Els(?:[oő][\s\xa0]*Kr(?:[oó]n(?:ika)?))|I(?:\.[\s\xa0]*Kr(?:[oó]n(?:ika)?)|[\s\xa0]*Kr(?:[oó]n(?:ika)?))|1(?:\.[\s\xa0]*Kr(?:[oó]n(?:ika)?)|[\s\xa0]*Kr(?:[oó]n(?:ika)?)|Chr)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Ezra"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Ez(?:ra|sd(?:r[aá]s)?|d) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Neh"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Neh(?:emi[aá]s)? )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["GkEsth"] apocrypha: true regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Eszter[\s\xa0]*k[oö]nyv(?:[eé]nek[\s\xa0]*kieg(?:[eé]sz(?:[ií]t(?:[eé]se))))|GkEsth) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Esth"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Es(?:th|zt(?:er)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Job"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( J(?:[oó]b) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Ps"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Zsolt(?:[aá]rok)?|Ps) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["PrAzar"] apocrypha: true regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Az[aá]ri(?:[aá]s[\s\xa0]*im(?:[aá](?:ds(?:[aá]ga|ja))))|PrAzar)|Az[aá]ri(?:[aá]s[\s\xa0]*im(?:[aá]ja)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Prov"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( P(?:[eé]ld(?:abesz(?:[eé]dek)?)|rov)|P(?:[eé]ld) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Eccl"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Eccl|Pr[eé]d(?:ik(?:[aá]tor)?))|Pr(?:[eé]d) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["SgThree"] apocrypha: true regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:H[aá]rom[\s\xa0]*fiatalember[\s\xa0]*(?:[eé]neke)|SgThree) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Song"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:S(?:alamon[\s\xa0]*[eé]neke|ong)|[EÉ]n(?:ekek[\s\xa0]*(?:[eé]neke)?))|(?:[EÉ]n) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Jer"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Jer(?:emi[aá]s)? )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Ezek"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Ez(?:ékiel|ek(?:iel)?)? )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Dan"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( D(?:[aá]n(?:iel)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Hos"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:H[oó]s(?:e(?:[aá]s)?)|Oz(?:e[aá]s)?)|H(?:[oó]s) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Joel"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( J(?:ó[eé]l|o(?:[eé]l)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Amos"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:[AÁ]m(?:osz?|ós)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Obad"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Obad|Abd(?:i[aá]s)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Jonah"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( J(?:on(?:a[hs]|ás)?|ón(?:[aá]s)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Mic"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Mi(?:c|k(?:e[aá]s)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Nah"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( N(?:[aá]h(?:um)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Hab"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Hab(?:ak(?:kuk|uk))? )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Zeph"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:S(?:ofoni[aá]s|z(?:efani[aá]s|of(?:oni[aá]s)?))|Z(?:of[oó]ni(?:[aá]s)|eph)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Hag"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Hag(?:g(?:eus|ai))?|Ag(?:geus)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Zech"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Z(?:ech|ak(?:ari[aá]s)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Mal"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Mal(?:aki[aá]s)? )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Matt"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( M(?:at[eté]|át[eé]|t) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Mark"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( M(?:[aá]rk|k) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Luke"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( L(?:uk(?:[aá]cs|e)|k) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["1John"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:Els[oő][\s\xa0]*J(?:(?:[aá]nos|n))|J[aá]nos[\s\xa0]*I|1(?:\.[\s\xa0]*J(?:[aá]nos|n)|John|[\s\xa0]*J(?:[aá]nos|n))|I(?:\.[\s\xa0]*J(?:[aá]nos|n)|[\s\xa0]*J(?:[aá]nos|n))) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["2John"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:M[aá]sodik[\s\xa0]*J(?:(?:[aá]nos|n))|J[aá]nos[\s\xa0]*II|II(?:\.[\s\xa0]*J(?:[aá]nos|n)|[\s\xa0]*J(?:[aá]nos|n))|2(?:\.[\s\xa0]*J(?:[aá]nos|n)|John|[\s\xa0]*J(?:[aá]nos|n))) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["3John"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:Harmadik[\s\xa0]*J(?:[aá]nos|n)|J[aá]nos[\s\xa0]*III|III(?:\.[\s\xa0]*J(?:[aá]nos|n)|[\s\xa0]*J(?:[aá]nos|n))|3(?:\.[\s\xa0]*J(?:[aá]nos|n)|John|[\s\xa0]*J(?:[aá]nos|n))) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["John"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( J(?:[aá]nos|ohn|n) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Acts"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Cselekedetek|A(?:z[\s\xa0]*(?:apostolok[\s\xa0]*cselekedetei|ApCsel)|p(?:ostolok(?:[\s\xa0]*cselekedetei)?|\.[\s\xa0]*Csel|[\s\xa0]*Csel|Csel)|cts)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Rom"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( R(?:[oó]m(?:a(?:iakhoz)?)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["2Cor"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:M(?:[aá]sodik[\s\xa0]*Kor(?:int(?:hus(?:iakhoz)?|usi))?)|II(?:\.[\s\xa0]*Kor(?:int(?:hus(?:iakhoz)?|usi))?|[\s\xa0]*Kor(?:int(?:hus(?:iakhoz)?|usi))?)|2(?:\.[\s\xa0]*Kor(?:int(?:hus(?:iakhoz)?|usi))?|[\s\xa0]*Kor(?:int(?:hus(?:iakhoz)?|usi))?|Cor)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["1Cor"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:Els(?:[oő][\s\xa0]*Kor(?:int(?:hus(?:iakhoz)?|usi))?)|I(?:\.[\s\xa0]*Kor(?:int(?:hus(?:iakhoz)?|usi))?|[\s\xa0]*Kor(?:int(?:hus(?:iakhoz)?|usi))?)|1(?:\.[\s\xa0]*Kor(?:int(?:hus(?:iakhoz)?|usi))?|[\s\xa0]*Kor(?:int(?:hus(?:iakhoz)?|usi))?|Cor)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Gal"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Gal(?:at(?:ákhoz|a(?:khoz)?))? )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Eph"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( E(?:ph(?:eszosziakhoz)?|f(?:ézusiakhoz|ezus(?:iakhoz)?)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Phil"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Phil(?:ippibeliekhez)?|F(?:lippiekhez|il(?:ippi(?:ekhez)?)?)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Col"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Col|Kol(?:oss(?:z(?:ébeliekhez|e(?:beliekhez|ieknek))|(?:[eé](?:iakhoz)?)))?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["2Thess"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:M(?:[aá]sodik[\s\xa0]*T(?:hessz(?:alonika(?:iakhoz)?)?|essz(?:alonika(?:iakhoz)?)?))|II(?:\.[\s\xa0]*T(?:hessz(?:alonika(?:iakhoz)?)?|essz(?:alonika(?:iakhoz)?)?)|[\s\xa0]*T(?:hessz(?:alonika(?:iakhoz)?)?|essz(?:alonika(?:iakhoz)?)?))|2(?:\.[\s\xa0]*T(?:hessz(?:alonika(?:iakhoz)?)?|essz(?:alonika(?:iakhoz)?)?)|[\s\xa0]*T(?:hessz(?:alonika(?:iakhoz)?)?|essz(?:alonika(?:iakhoz)?)?)|Thess)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["1Thess"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:Els(?:[oő][\s\xa0]*T(?:hessz(?:alonika(?:iakhoz)?)?|essz(?:alonika(?:iakhoz)?)?))|I(?:\.[\s\xa0]*T(?:hessz(?:alonika(?:iakhoz)?)?|essz(?:alonika(?:iakhoz)?)?)|[\s\xa0]*T(?:hessz(?:alonika(?:iakhoz)?)?|essz(?:alonika(?:iakhoz)?)?))|1(?:\.[\s\xa0]*T(?:hessz(?:alonika(?:iakhoz)?)?|essz(?:alonika(?:iakhoz)?)?)|[\s\xa0]*T(?:hessz(?:alonika(?:iakhoz)?)?|essz(?:alonika(?:iakhoz)?)?)|Thess)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["2Tim"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:M(?:[aá]sodik[\s\xa0]*Tim(?:[oó]t(?:heosz|eus(?:hoz|nak)?))?)|II(?:\.[\s\xa0]*Tim(?:[oó]t(?:heosz|eus(?:hoz|nak)?))?|[\s\xa0]*Tim(?:[oó]t(?:heosz|eus(?:hoz|nak)?))?)|2(?:\.[\s\xa0]*Tim(?:[oó]t(?:heosz|eus(?:hoz|nak)?))?|[\s\xa0]*Tim(?:[oó]t(?:heosz|eus(?:hoz|nak)?))?|Tim)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["1Tim"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:Els(?:[oő][\s\xa0]*Tim(?:[oó]t(?:heosz|eus(?:hoz|nak)?))?)|I(?:\.[\s\xa0]*Tim(?:[oó]t(?:heosz|eus(?:hoz|nak)?))?|[\s\xa0]*Tim(?:[oó]t(?:heosz|eus(?:hoz|nak)?))?)|1(?:\.[\s\xa0]*Tim(?:[oó]t(?:heosz|eus(?:hoz|nak)?))?|[\s\xa0]*Tim(?:[oó]t(?:heosz|eus(?:hoz|nak)?))?|Tim)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Titus"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Tit(?:us(?:hoz|z(?:hoz)?)?)? )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Phlm"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Filem(?:on(?:hoz)?)?|Ph(?:ilemonhoz|lm)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Heb"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Zsid[oó]khoz[\s\xa0]*(?:[ií]rt[\s\xa0]*lev(?:[eé]l))|(?:Zsid(?:[oó]k(?:hoz)?)?|H(?:éber[\s\xa0]*lev[eé]l|eb(?:er[\s\xa0]*lev[eé]l)?)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Jas"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Ja(?:k(?:ab)?|s) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["2Pet"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:M(?:[aá]sodik[\s\xa0]*P(?:[eé]t(?:er)?))|II(?:\.[\s\xa0]*P(?:[eé]t(?:er)?)|[\s\xa0]*P(?:[eé]t(?:er)?))|2(?:\.[\s\xa0]*P(?:[eé]t(?:er)?)|[\s\xa0]*P(?:[eé]t(?:er)?)|Pet)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["1Pet"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:Els(?:[oő][\s\xa0]*P(?:[eé]t(?:er)?))|I(?:\.[\s\xa0]*P(?:[eé]t(?:er)?)|[\s\xa0]*P(?:[eé]t(?:er)?))|1(?:\.[\s\xa0]*P(?:[eé]t(?:er)?)|[\s\xa0]*P(?:[eé]t(?:er)?)|Pet)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Jude"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( J(?:ud(?:[aá]s|e)?|úd(?:[aá]s)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Tob"] apocrypha: true regexp: ///(^|#{bcv_parser::regexps.pre_book})( T[oó]b(?:i(?:[aá]s)?)|T(?:[oó]b) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Jdt"] apocrypha: true regexp: ///(^|#{bcv_parser::regexps.pre_book})( J(?:udit|dt) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Bar"] apocrypha: true regexp: ///(^|#{bcv_parser::regexps.pre_book})( B(?:[aá]r(?:uk)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Sus"] apocrypha: true regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Zsuz(?:s(?:anna(?:[\s\xa0]*[eé]s[\s\xa0]*a[\s\xa0]*v(?:[eé]nek))?)?)?|Sus) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["2Macc"] apocrypha: true regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:M(?:a(?:kkabeusok[\s\xa0]*II|sodik[\s\xa0]*Mak(?:kabeusok)?)|ásodik[\s\xa0]*Mak(?:kabeusok)?)|II(?:\.[\s\xa0]*Mak(?:kabeusok)?|[\s\xa0]*Mak(?:kabeusok)?)|2(?:\.[\s\xa0]*Mak(?:kabeusok)?|[\s\xa0]*Mak(?:kabeusok)?|Macc)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["3Macc"] apocrypha: true regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:Makkabeusok[\s\xa0]*III|Harmadik[\s\xa0]*Mak(?:kabeusok)?|III(?:\.[\s\xa0]*Mak(?:kabeusok)?|[\s\xa0]*Mak(?:kabeusok)?)|3(?:\.[\s\xa0]*Mak(?:kabeusok)?|[\s\xa0]*Mak(?:kabeusok)?|Macc)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["4Macc"] apocrypha: true regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:Makkabeusok[\s\xa0]*IV|IV(?:\.[\s\xa0]*Mak(?:kabeusok)?|[\s\xa0]*Mak(?:kabeusok)?)|4(?:\.[\s\xa0]*Mak(?:kabeusok)?|[\s\xa0]*Mak(?:kabeusok)?|Macc)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["1Macc"] apocrypha: true regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:Makkabeusok[\s\xa0]*I|Els(?:[oő][\s\xa0]*Mak(?:kabeusok)?)|1(?:\.[\s\xa0]*Mak(?:kabeusok)?|[\s\xa0]*Mak(?:kabeusok)?|Macc)|I(?:\.[\s\xa0]*Mak(?:kabeusok)?|[\s\xa0]*Mak(?:kabeusok)?)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi ] # Short-circuit the look if we know we want all the books. return books if include_apocrypha is true and case_sensitive is "none" # Filter out books in the Apocrypha if we don't want them. `Array.map` isn't supported below IE9. out = [] for book in books continue if include_apocrypha is false and book.apocrypha? and book.apocrypha is true if case_sensitive is "books" book.regexp = new RegExp book.regexp.source, "g" out.push book out # Default to not using the Apocrypha bcv_parser::regexps.books = bcv_parser::regexps.get_books false, "none"