Documentation

Regular Expressions Resource

Regular expressions from the checklists on scribenet.com are presented here with minimal context. These can be run on .sam and .scml files. For more details on how and when to use these searches, see the Regular Expressions Resource Supplement.

Quotation Marks, Parentheses, and Brackets

Find: ^[^“]*\”|\“[^”]*\“|\”[^“]*\”|\“[^”]*$

Find: ^ *(<[^>]+>)[^\(\n]* [^\(\n]*\)|\([^\n\)]*\(|\)[^\(\n]*\)|\([^\)\n]*$

Find: ^[^[]*\]|\][^[]*\]|\[[^]]*$|\[[^]]*\[

Find: (^[^<{\n]*"|>[^<{\n]*"|}[^<{\n]*")

Find: ”([^ \)\<\]\:;\?\&\/—"])|([^ \t\(\>\[—])“

Find: <i>\([^\n\)]*</i>\)|<i>“[^\n”]*</i>[\!:;,\.‘’“”\?\–]?”|<i>\[[^\n\]]*</i>\]|\(<i>[^\n\)]*\)</i>|“<i>[^\n”]*”</i>|\[<i>[^\n\]]*\]</i>

Find: <(i|b|bi|sm|sm-i|sm-b|sm-bi)>\((.*)</\1>\)

Find: \(<(i|b|bi|sm|sm-i|sm-b|sm-bi)>(.*)\)</\1>

Find: ’</i>s

Find: ‘([tT]is|\d\d)\b

Punctuation

Find: ([\!:;,\.‘’“”\?\–])\1

Find: [\!:;,\?\–…][’”][A-Za-z0-9]|\.[”][A-Za-z0-9]|\.[’][A-Za-rt-z0-9]

Find: ([ \x{a0}])\.([ \x{a0}])\.([ \x{a0}])\.([ \x{a0}])\.

Find: ([\[\(“‘])( )|( )([\.,:;\?!\)\]’”])([^\x{a0}\d])|([A-Za-z0-9]+) \. \. ([A-Za-z0-9]+)

Find: \.([\x{00A0} ])\.([\x{00A0} ])\.’([A-Za-zÀ-ÿ]+)|([A-Za-z0-9>]+)\.([\x{00A0} ])\.([\x{00A0} ])\.([\x{00A0} ])([\!:;,\?\–])

Find: ([^A-Z<][\.\?\!”])([A-Z])|[,:\)][A-Za-z“]|(?<!&amp);[A-Za-z“]|([”])([a-z])|,”,|(,\.)

Find: ([a-z])\((?!s\))

Find: <crt(.*)(<url>www\.zondervan\.com</url>\. The)|Scribe, Inc

Find: [a-zÀ-ÿ0-9]</(p|pf|psec|paft|pcon|rf|rf1|rf2|rff)>\n(?!\s+<bq)|</[ib]></rf[12f]?>\n|[;,\–\-\—]</[a-z]+h

Find: (January|February|March|April|May|June|July|August|September|October|November|December)(\x{a0}| )([\d]+)(\x{a0}| )([\d]+)

Find: (January|February|March|April|May|June|July|August|September|October|November|December)(\x{a0}| )([\d]+),([\d]+)

Find: ([A-Z]\.)+[A-Z][:?!, ]

Find: ([A-Za-z]\.)+[A-Za-z]</[^>]+>\.

Italic Commas and Periods

Find: ,</i>

Find: </i>,

Find: \.</i>

Find: </i>\.

Find: Jr</i>\.|Dr</i>\.|<i>St</i>\.|<i>Ms</i>\.|<i>Mr</i>\.|<i>Mrs</i>\.|<i>([Ee])t al</i>\.|U\.S</i>\.|U\.S\.A</i>\.|C\.E</i>\.|B\.C\.E</i>\.|B\.C</i>\.|A\.D</i>\.|([Ii])bid</i>\.|([Ii])\.e</i>\.|([Ee])\.g</i>\.|([Oo])p\. cit</i>\.|([Ee])tc</i>\.|Inc</i>\.|Bros</i>\.|<i>Id</i>\.|<i>fl</i>\.|<i>f</i>\.|<i>c</i>\.|<i>fig</i>\.

Unexpected Character Patterns

Find: --|–-|—-|-–|-—|([a-z0-9]+)\||- -|'|“ | ”|\),[0-9]|([A-Za-z0-9]+)−([A-Za-z0-9]+)|“’

Find: [A-Za-z]<i>[A-Za-z]|[A-Za-z]</i>[A-Za-z]|\.([A-Za-z])\.([A-Za-z])</([a-z]+)>\.

Find: </(ct|ctfm|ctbm|cs|cn|pn|pt|ps|ut|un|us|ept|au|au1)>\n([ ]*)<ah[^a]|<structure>([^{])

Find: ([ \t])([0-9]{1,3})</toc([^e])|([ \t])([0-9ivxl]+)</tocfm|([ \t])([0-9]{1,3})</tocill|([ \t])([ivxl]+)</tocill

Find: <dropcap>([A-Za-z])([A-Za-z])|<dropcap>([\[\(“‘\¿\¡])([A-Za-z])([A-Za-z])

Find: ([ ])–([0-9A-Za-z])|>–([0-9A-Za-z])|([A-Za-z0-9])—\. ([A-Za-z0-9]+)

Find: </i>: <i>

Find: <(p|pf|psec|paft|pcon|psep)>(?:<page[^>]*>)*\t

Find: \b[\d]{4}[\-\—][\d]{4}\b|<(crt|cip)[^\n]+\b97[89][\d\-]*[\–\—]

Find: ([\d]){4}([\–\-\—])(author|editor|translator)

Find: n´t|´s|s´

Find: </fnnum>([\t \.]+)([a-z])

Find: </fighn>(?:<[^>/]+>)?[^\s<]

Find: <(sup|sup-i)>TM</\1>

Find: ([\d]+)\s+x\s+([\d]+)

Find: \$([\d]+)(\x{a0}| )dollar

Find: >(Edited|Translated) [A-Z]

Find: [^p]p\.(\x{a0}| )([\d]+)–

Find: </ah[^>]*>\s*<en>[\x{a0} \t]*<ennum[^>]*>(?:[234567890]|1\d)

Structure Tags and Chapter Divisions

Find: <sam>\n[ ]*<structure>\{~\?~ST: end

Find: <chapter[^>]*/>|id=""

Spaces and Tabs

Find: ( )(\x{a0})|(\x{a0})( )|(\x{a0})<([\/a-z0-9\-]+)>( )|( )<([\/a-z0-9\-]+)>(\x{a0})

Find: ([ \x{a0}])(\t)|(\t)([ \x{a0}])|\x{00A0} | \x{00A0}|([\x{00A0}])([\x{00A0} ])|([\x{00A0} ])([\x{00A0}])

Find: ( )<([ef]nref)([^>]*>[^<]*</\2>)

Find: ^( *)(<[^>]*>)([ \x{a0}]+)| $|[^\s][ \t\x{a0}]+(</[^>]*>) *$|^( *)(<[^\n]*?)( ){2,}

Find: ([^ ]\||\|[^ ])

Find: ([A-Za-z])</i>“|([\!:;,\.‘’“”\?\–])</i>“

Find: [\x{a0} ]<[^<]*>[\x{a0} ]|[\x{a0} ]</[^<]*>[\x{a0} ]

Find: <(tch|tch1|tch2|trhd|th|th1|th2|tatr|td|td1|td1p|td2|td2p|td3|td3p|tdf|tdl|tdnl|tdp|tdul|tn|nttd)>\t

Find: ^\s*<(?!eq|toc|[^>]*[bun]l|[fe]n)[^>]*>[^\n]*\t

Find: [\t]{2,}

Write-in Lines

Find: [_]{2,}

Incorrect Line Breaks

Find: ^[ ]*<(?!([^> ]*[sn]l|in|[^> ]*bq[fs]|rf))[^>]*>(?:<page[^>]*>)*[a-z]

Find: <rf[^>]*>(?:<page[^>]*>)*(?!(d[eiu]|della|v[oa]n)\b)[a-z]

Find: ;</(?:rf|[fe]n>)

URLs

Find: (<url( href[^>]*)?>[^<]*)[\x{2013}\x{2014} \x{a0}]

Find: <url>([ \.\(\[])|([ ,\.\)\]])</url>

Find: ([^ \<\"\>])http|>([Aa])mazon\.com</url

Find: ([ ><"“'‘\(\[–\n—])(@[a-zA-Z0-9_]{1,15})

Find: <[^>]*url[^>]*>[^<]*</[^>]*url[^>]*><url

Process the file to ePub 3 in the Digital Hub.

Open the ebook in Kindle Previewer.

Go to File > Run Quality Checks

Click Open Report.

ISBNs and Zip Codes

Typesetter Spaces

Find: &#173;|&#819[2-9];|&#820[0-4];|&#8239;

Find: &#x00AD;|&#x200[0-9A-C];|&#x202F;

Find: [\x{ad}\x{2000}-\x{2009}\x{200a}-\x{200c}\x{202f}]

Hyphen Spacing

Find: (- )(?!(and|or|to|und)\b)

Find: (?<!\band)(?<!\bor)(?<!\bto)(?<!\bund) -

Find: %-[\d]+%

Missing Spaces around Tags and Commas

Find: (</(?!dropcap)[^>]+>)([A-Za-zÀ-ÿ]+)|([A-Za-zÀ-ÿ]+)<(?![eft]nref|page)([^/][^>]*)>

Find: ,([a-zÀ-ÿ]+)([^ \n]*)

Find: ,(\d\d?[^\d]|\d{4})

Find: (<in[12f]*>)(.*),[a-zÀ-ÿ0-9]

Scribing/Articulation

Find: <b([fl1]+)>(\t){0,1}([A-Za-z0-9]+|<symb>[A-Za-z0-9]+</symb>)|<b([fl1]+)><page id="p([0-9A-Za-z]+)"/>(\t){0,1}([A-Za-z0-9]+|<symb>[A-Za-z0-9]+</symb>)

Find: <u([fl1]+)>(\t){0,1}([0-9]+)([\.\)])|<u([fl1]+)><page id="p([0-9A-Za-z]+)"/>(\t){0,1}([0-9\.]+)([\.\)])

Find: <n[fl12345]+>(?:<page[^>]*>)*\s*[\(\[]?([^\d \(\)\[\]\.<>]{2})

Find: </([^>/]*[nu]l[0-9p]*|(?:sb)?bl[0-9p]*)>\s+(</list>\s+)?<(p|pcon|paft)>

Find: </([^>/]*)(pcon)([^>]*)>\n([ \t]*)<([^>/]*)(pcon)

Find: </tocpt>(.*\n)+?\s*<toc[^f][^\n]*Conclusion

Small Caps

Find: <(sm|sm-i|sm-b|sm-bi|tetr|tetr-i|tetr-b|tetr-bi)>([^<a-z]+)</\1>

Alt Text

Find: alt="(Presentation|presentation)"

Find: alt="[^">]*"[^">=]*"

Find: Description automatically generated

Self-Closing Note Reference Tags

Find: <([fe])nref/>|<([fe])nnum/>

Self-Closing and Unnecessary Tags (.sam/.scml)

Find: <(?!cell|img|page)[^<]*/>|</([^>]*)>[^A-Za-z0-9\n]?<\1>|<((?!td|symb)[^>/]*)>[^A-Za-z0-9\n]?</\2>

Position of Tags and Spaces (.sam/.scml)

Find: ^( *)(<[^\n]*?)( )(</[^>]*>)|(<[^/|^>]*>)( )

Page IDs (.sam/.scml)

Find: (<xref.*?>.*?)(<page id=".*?"/>)(.*?</xref>)|(</url>)(<page id=".*?"/>)(<url>)

Find: <([^/>]*)>(<page[^>]*>)</\1>

Find: [a-z]+<page id="([^<]*)"/>[a-z]+

Find: <url>([^<]*)</url><page id="p([0-9A-Za-z]+)"/><url>([^<]*)</url>
Replace with: <url href="\1\3">\1</url><page id="p\2"/><url href="\1\3">\3</url>

Page references (.scml)

Find: [^</][Pp]age

Single-Chapter Bible Books (.scml)

Find: (<xbr t=")(Ob|Phm|2Jn|3Jn|Jud|Pr Az|Bel|Sus|Pr Man|LJe)( )([2-9]|[0-9]{2,})(:)([0-9-]+")

Blind Notes Pairs

DTD Validation Troubleshooting (.sam/.scml)