Basic Browsing
Navigation from one text to another may be accomplished in several ways.
- Select the Book, Chapter, and Verse, in that order, from the dropdown menus at the top.
- Click on the "<" or ">" buttons to go to the previous or following verse, respectively.
- Click on the "<<" or ">>" buttons to move to the previous or next chapter, respectively.
- Click on the "<<<" or ">>>" buttons to move to the previous or next book, respectively.
- Find a verse via the Search Panel (see more under that section) and click on the button to put that verse in focus in the comparison windows.
- Find a verse via the Advanced Search Panel, then click on the button at the left edge containing the record number for that verse. This will populate the comparison windows just as the button in the Search Panel does.
Search Panel
The Search Panel is helpful in locating verses that have a specific word or phrase. Once located, clicking on the button giving the record number for that verse (on the left side) will place that verse in the browsing windows.
Any phrase entered in the search field should be treated as an exact phrase unless a logical operator, in full uppercase, is included. The logical operators are:
For example, to search for entries inclusive of "Jesus Christ" AND "Christ Jesus", a search for [ Jesus AND Christ ] would bring up all verses that included both words, in any order, though not necessarily as an exact phrase. To ensure they occurred in a phrase together, search for [ Jesus Christ OR Christ Jesus ]. To find verses that had "Jesus" but did not have "Christ" or vice versa, search for [ Jesus XOR Christ ]. While other verses may appear which are not matched perfectly in case (e.g. all lowercase/uppercase), the most perfect matches should be highlighted in the search results.
The Search Panel is also able to locate texts by reference. If a reference is found in the search window, its usual word/phrase search is replaced by a reference search. All texts found among the references will be returned. For example, the following search would return eight verses on "fasting," without any word highlighting in them.
[ Fasting: 1Co. 7:5; Daniel 6:18; Matthew 15:32; Mark 8:3; Mark 9:29; Luke 2:37; Acts 10:30; Acts 27:33 ]
A reference may be to more than one verse at a time. For example: [ Eccl. 9:3-6 ] would return four verses, and [ Eccl 9:3, 6 ] would return two. Spaces are generally ignored.
Advanced Search Panel
For a deeper search, this function is quite powerful.
To eliminate words that do not provide a complete or exact match, one may select the "whole word" option to ensure that each result includes only words bounded by spaces or punctuation, such that mid-word occurrences of "sem" would not match. In this example, case should not matter, but an additional protection would be to check the option for a case-sensitive search.
Here are the search modifiers that will give precision to the selection of matches.
Case Sensitive: This option ensures that when looking for "God" the lower-case form of "god" would not match. A match must be made when the text is in exactly the same case.
Whole words: This option forces the match to be a complete word, eliminating any possible partial-word matches. For example, looking for "God" in the KJV could also find "Godhead", "goddess" (without a case-sensitive search), "gods", "godly", "ungodly", "godliness", etc.
Must match from start of verse: This options ensures that when searching for an occurrence of "And" or "Because" or similar word at the start of a verse, no mid-verse occurrence of the word would match. For example, searching for "Because" with this option enabled would match "Because that Abraham obeyed my voice, and kept my charge, my commandments, my statutes, and my laws." (Genesis 26:4) while NOT matching "And Abimelech called Isaac, and said, Behold, of a surety she is thy wife; and how saidst thou, She is my sister? And Isaac said unto him, Because I said, Lest I die for her." (Genesis 26:9). As a quick look at these two verses shows, even a case-sensitive search would not differentiate between the two in this example.
Must match at end of verse: This option may at first appear more useful than it really is. Please keep in mind that Bible verses usually have some final punctuation to them. With this option enabled, that punctuation is also included in order to make a match at the end of the verse. The match extends all the way to the first whitespace (non-printing) character. If a verse happens to have a space, tab, or return character at the end, the match will be allowed just before that: but it must include any printed character, such as letters, numbers, or punctuation. For example, given the verse And Adam said, This is now bone of my bones, and flesh of my flesh: she shall be called Woman, because she was taken out of Man. (Genesis 2:23), matching "Man" at the end of the verse would return empty: the verse does not end with "Man", it ends with "Man.", inclusive of the period. In fact, this option's greatest usefulness may be with the punctuation itself.
Match words delimited by these characters: [ ] To help define words, additional characters may be provided. Ordinary punctuation will be considered the boundary of a word when the "Whole word" option is selected. But suppose you wish to find a word that has a comma, or a period, or a quotation mark afterward: you could then check this option and supply those characters in the text field following it (within the square brackets: [ ]). For example, filling in that box like this: [.,"] would find any word bounded by one of those three characters. Be careful! While a space character may be invisibly present, the program will allow a space to match if entered there!
NOTE: An interesting use of this option might be to place an "s" in that character box to look for any word inclusive of its plural. For example, with [.s,:;?!], a word could be followed by any one of those six punctuation characters, OR be terminated with an "s" as is common in plural forms. Of course, entering [ing] in the box will NOT work in finding present participles--this would just find any word that happened to have any one of those three characters at the end.
Use PERL regular expression
This option merits its own section. When this is selected, all of the other checkboxes will be disabled because this option will override them. With this option selected, only the "Word / Phrase:" (Query) field will be operative.
Using this option requires some knowledge of regular expressions, but it is the most powerful way of refining a search to exactly what one is looking for. While it is beyond the scope of this help manual to delineate all of the potential options, the following list may prove helpful to beginners, and can be assured to function correctly within the limitations of this software.
- \w - match a word character (usually considered as letters, numbers, or underscore)
- \W - match a non-word character
- \d - match a numerical digit
- \D - match a non-digit
- \b - match a word boundary (inclusive of whitespace or punctuation)
- \n - match a newline character
- \r - match a return character
- \t - match a tab character
- \s - match any space character (\n, \r, \t, or space)
- \S - match a non-space character
- \. - match a period
- . - match any character (wildcard)
- ? - match zero or one of the previous characters or groups
- * - match zero or more of the previous characters or groups
- + - match one or more of the previous characters or groups
- | - logical OR: match the previous character or group OR the next one
- \ - escape character: use this to match a literal occurrence of a special character, e.g. \* matches an asterisk
Groups: Groups are formed by adding parentheses around other expressions. For example, searching for "and (of)? tender" will match both "and tenderness" and "and of tender mercy". The question mark after the group allows the match to include zero or one occurrences of the group. If we change the search expression to: "and (of)+ tender", we will reduce the matches to just the single occurrence (in James 5:11) of "and of tender mercy" because the plus sign forces the match to include one or more instances of that group.
Capture groups: Capturing is accomplished via parentheses and is useful for returning a part of the match into a secondary occurrence of the match. Note that captured groups are always counted in the order in which they begin.
Captured group ordering: Please note the following example which illustrates how captured groups count in the order in which they are created, as begun by their opening parenthesis.
QUERY: ((Lord)?\s(Jesus\s(Christ)))
\1 = "Lord Jesus Christ"
\2 = "Lord"
\3 = "Jesus Christ"
\4 = "Christ"
Based on the above, if the subsequent matches for that query were entered as "\1, \2, \3, \4", the result would be "Lord Jesus Christ, Lord, Jesus Christ, Christ".
Non-Captured groups: To prevent capturing, group the expression with (?:...) instead of with (...). For example:
QUERY: ((Lord)?\s(?:Jesus\s(Christ)))
\1 = "Lord Jesus Christ"
\2 = "Lord"
\3 = "Christ"
(There is no longer a fourth one, since the third group is not captured, and #4 became #3 among those captured.)
Some practical examples:
"Sara(?:h|i)" - matches either "Sarah" OR "Sarai"
"Sara(?:[hi])" - matches either "Sarah" OR "Sarai"
"Sara(?:h|i)?" - matches "Sara" OR "Sarah" OR "Sarai" (and catches "Saraph" and "Sarah's" without \b)
"wom.n" - matches either "woman" or "women"
"\([^)]+\)" - matches a fully-enclosed parenthetical statement
"(\([^)]+\))" - matches AND captures a parenthetical statement
"(Jesus).+\1" - matches a verse where "Jesus" occurs a second time
"(\b\w+\b).+\1" - matches a verse where the captured word occurs a second time
NOTE: The default is to match one single occurrence of something. To match one or more, or to include the possibility of a non-match as well as any number of repeats, use + or *, respectively.
Using the Cross-comparison Panel
For a comparison search, this function is extremely powerful. Be advised that more complex queries may take additional time to return results.
A comparison search enables the ability to find verses of the Bible in one version that differ or compare in some way with those of another version. For example, the KJV typically translates the Hebrew name of God as "the LORD" (using uppercase when serving as the code word for God's name). But the ASV (1901) typically uses "Jehovah" to translate God's name, which is a step nearer to what is considered most correct: "Yahweh". To find verses which may have "the LORD" in English but do NOT have "Jehovah" in the ASV1901, one may look for "the LORD" in the KJV (make sure to select "Case Sensitive" or the search will also return matches with "the Lord" or even "the lord") and cross-compare against "Jehovah" in the ASV1901, selecting "Does NOT match" in this latter. This will return a few exceptions in the KJV to its typical style. When selected, and compared against the Interlinear Hebrew/Greek version, it will be seen that in some cases the KJV extended its usage of "the LORD" to Hebrew words like "adonai" (which means "lord") and are not God's name.
Up to four additional versions, making five in total, may be compared against each other simultaneously. It is possible, therefore, to add a further limitation; for example, one could look for matches to the Strong's number for "Jehovah" (H3068) in the BLB version.
NOTE: Only the version selected for the main query will be returned in the results table, but any individual result can be selected to see it compared in the comparison windows above. This may be nice when one wants to find other-language translations for verses that have a certain expression in one's own language: just select the other language for the main query, and choose the version of choice and query terms for its equivalent in one of the cross-comparison queries. Note also that, due to CPU resource issues, highlighting of key terms will only be linked to the main version.
Getting Additional Help
In the event of a technical error, or for more information about how to use the features of this software, or even to submit a feature request, please contact the programmer at:
About This Program
The core of this software was first developed in the spring of 2018, with nearly an entire month of Thai/Lao New Year holiday spent in preparing it. Over time, it has matured. In the beginning, it was designed simply, with just one Bible comparison window, but which was able to select a comparison from any version in the database. The comparison panel was added next. Then, in mid-2019, the search panel was added. In the process of adding the search function, the entire program was nearly re-written to avoid the use of an external AJAX module; instead, manually writing this to better suit the requirements.
In early 2020, the Advanced Find feature was added, and the search panel was created to include the tabs. This included the PERL regex search functionality.
Along the way, various additional Bible versions have been added to the database to provide more comparison options.