+1 vote
153 views

The following Regex will allow you to compare two projects with the divine name markup \nd …\nd* in Paratext Find and using Remove From List, to see where the number of instances in a verse differ. Settings need to be without any restrictions. It will not work if Match Only in Verse Text is checked.

regex:(?<=\\v\s\S+\s)((?!\\(v|m?s|nd)).)*(\\nd [^\\]*?\\nd\*)){1,1}((?!\\(v|m?s|nd|c)).)*(?=\\(v|s|c)|\Z)

This regex allows you to find verses with a specified number of \nd spans in the text:

  • {1,1} one and only one
  • {1} exactly one (same as above)
  • {2,} two or more
  • {0,0} None

It does not find \nd markup in section headings nor will it find \+nd markup

Issues

  • Since it will not find \+nd markup it will not find \+nd in regular text (rare).
  • It will not find \nd in a partial verse that follows a section heading (rare).

The following Regex will find txt in \+nd …\+nd* spans in regular text and footnotes: .

regex:(?<=\\v\s\S+\s)(((?!\\(v|m?s|\+nd)).)*(\\\+?nd [^\\]*?\\\+?nd\*)){1,1}((?!\\(v|m?s|\+nd)).)*(?=\\(v|m?s)|\Z)

Issues

  • Since it will find \+nd markup it will find \+nd in footnotes (common).

If we want to use this to compare an English translation that uses \nd markup with a translation that uses a unique unmarked word for YHWH, we can add the word to the find. For French we will look for Eternel

regex:(?<=\\v\s\S+\s)(((?!\\(v|m?s|nd)|Eternel).)*(\\\+?nd [^\\]*?\\\+?nd\*|Eternel)){1,1}((?!\\(v|m?s|nd)|Eternel).)*(?=\\v|m?s)|\Z)

Since Eternel also occurs in footnotes we want to skip finding the text in footnotes. The following Schema will allow you skip text (such as a footnote span) when matching:

schema:(?<=<start>)(((?!<selector>).)*((<skipSpan>((?!<selector>).)*)*<requiredSpan>)){Min,Max}((?!<selector>).)*(<skipSpan>((?!<selector>).)*)*(?=<end>|\Z)

For the <selector> see: Regex Examples: Matching Whole Lines of Text That Satisfy Certain Requirements

If your condition is that a line should not contain something, use negative lookahead. ^((?!regexp).)*$ matches a complete line that does not match regexp.

Let’s apply this to skipping text in footnotes. We are required to match \nd and \+nd spans and Eternel:

<start>         \\v\s\S+\s                         ; Start at verse
<end>           \\(v|m?s)                          ; End at verse or section heading 
<end>|\Z        \\(v|m?s)|\Z                       ; For final context add \Z to select end of Chapter
<requiredStart> \\\+?nd|Eternel                    ; \nd markup optionally embedded and "Eternel"
<requiredSpan>  (\\\+?nd [^\\]*?\\\+?nd\*|Eternel) ; The entire \nd phrase or "Eternel"
<skipStart>     \\f\s                              ; Beginning of a footnote
<skipSpan>      (\\f\s((?!\\f\*).)*\\f\*)          ; The entire footnote
<selector>      <end>|<skipStart>|<requiredStart>  ; Combine all of the selection restrictions 
    =>          \\(v|m?s)|\\f\s|\\\+?ndEternel     ; which simplifies to 
    =>          \\(v|m?s|f\s|\+?nd)|Eternel

Complete regex:
regex:(?<=\\v\s\S+\s)(((?!\\(v|m?s|f\s|\+?nd)|Eternel).)*(((\\f\s((?!\\f\*).)*\\f\*)((?!\\(v|m?s|f\s|\+?nd)|Eternel).)*)*(\\\+?nd[^\\]*?\\\+?nd\*|Eternel))){1,1}((?!\\(v|m?s|f\s|\+?nd)|Eternel).)*((\\f\s([^\\]|\\(?!f\*))*\\f\*)((?!\\(v|m?s|f\s|\+?nd)|Eternel).)*)*(?=(\\(v|m?s))|\Z)

Paratext by (1.8k points)
reshown | 153 views

Please log in or register to answer this question.

Related questions

0 votes
1 answer 391 views
A couple of days ago user 1 reported to me that in one PT8 project, the text direction somehow changed to ... are managed by two different organizations. How could this happen?
anon895417 129 asked Dec 4, 2017
0 votes
8 answers 1.4k views
We have a user who has inserted a lot of \pn and some \nd inside of footnotes. We now know we need those to be ... the search to inside of a single footnote? Thank you, MSEAIT/LT
MSEAIT_LT 478 asked Aug 20, 2018
0 votes
0 answers 162 views
To compare the versions of a project in which there were changes: Click in the window of the project to make it the ... how-do-i-compare-a-word-or-phrase-in-different-projects/19)
[Expert]
anon421222
735
asked Feb 23, 2017
0 votes
2 answers 304 views
\pn and \nd markers in headings result in text that has not all the other character attributes of the rest of the text. ... as errors. How are such markers to be used in headings?
anon015155 153 asked Sep 26, 2018
0 votes
2 answers 632 views
I need to find out what percentage of each book has been drafted. A count of how many verses in each book have text ... Thanks for any help you can give me on this. John Nystrom
john_nystrom 312 asked Aug 21, 2024
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
Live in harmony with one another. Do not be proud, but be willing to associate with people of low position. Do not be conceited.
Romans 12:16
3,041 questions
6,000 answers
5,667 comments
2,024 users