0 votes
564 views

In our project’s Biblical Terms list, I’m looking for an (easier) way to filter for terms which contain “too many” different renderings.


So in the above example, I would love to be able to just enter a RegEx code which looks for a pattern - say for example 3 or more stars * in the rendering field (which in this case would filter the middle three rows - as they all have 3 or more renderings).

I tried using a RegEx in the find window by doing something like this:

However, because the renderings themselves are stored on different lines with a or \r\n between each rendering, I can’t seem to get any RegEx to correctly locate what I’m looking for.

So for example, regex:\.+?\.+?\* doesn’t find anything.
And neither does this:regex:\.+?\r\n.+?\.+?\r\n.+?\.+?\r\n.+?\

I think I need to turn on the DOTALL /s flag (or something similar), but nothing that I’ve tried works yet. Alternatively, could I search for the number of occurrences of \r\n and filter more specifically that way?

Any suggestions?

Paratext by (3.2k points) | 564 views

5 Answers

0 votes
Best answer

Hi anon467281,

Thanks for your response. Yes, I realize that something like that should work, but it clearly isn’t for me (within the Biblical Terms Find tool).

I’m assuming the some of the * s in your RegEx need to be escaped, but even so, there seems to be no effect of using (?s). So Paratext must be doing something else to the RegEx (or the data) to prevent this from working right.

I can copy and paste data from the renderings area into Notepad++ and see that there is \r\n at the end of each “line” and then the RegEx works to find what I’m looking for there.

The closest I ever got to finding 2 or more * in the data (within the Biblical Terms tool) was with this one (shown below), but it only finds one occurrence (as that entry has 2 stars on the same line: bavisatna gost** is all on the same line, whereas the others are on different lines).


But the fact that it returns something from the “second line of data” shows that it is at least seeing beyond the first line of data (mune jargval*) - which is encouraging.

Can someone look into a similar project (or use my SGAlatin) project to see if they can figure out what is/isn’t happening?
Thanks,
Mark

by (3.2k points)

Paratext compares the find text to the text of each rendering (i.e. each line), not to the whole rendering textbox. Unfortunately, this means there is no way to do what you want, sorry. :neutral_face:

0 votes

Try the following and see if it works:

(?s)*.?*(.?*)+

This should find when 3 or more ** are found.

The (?s) says that the . matches line breaks (\n). By default it only
matches up thru the \r and stops at the \n.

D anon467281

Global Publishing Services
Scripture Typesetting trainer & Regular Expression "specialist"
Dallas, TX

by (571 points)
reshown
0 votes

Thanks for confirming my fear/suspicion. So should I submit this as a ‘bug to be fixed’ or a ‘feature request’? Or will it make no real difference in this case? My only work-around right now is to export the entire list to HTML>Excel and then add a column which counts the renderings (and can be sorted or filtered on). Not ideal (as it is a static/stale list) but at least I can find what I’m looking for. Roll on PT9… :wink:

by (3.2k points)
0 votes

You certainly could submit a feature request, but since it’s not the way the tool was designed to work and it seems like an unusual use-case, it would probably be considered low-priority.

by [Expert]
(16.6k points)

Just curious what makes this an
"unusual use-case"? Multiple renderings for one key term?
Because we’re definitely going to need a way to sift the list
for multiple renderings (ten-ish translators, five
denominations, four dialects–you can see the issue[s])…

    Paul
0 votes

I was meaning that it’s an unusual use-case to have the text-search match through multiple renderings.

by [Expert]
(16.6k points)

reshown

Related questions

0 votes
6 answers 760 views
Hi, The previous version of Regex Pal (in Paratext 7.5 and 7.6) used Word Wrap/Line wrap, which was really helpful ... Is there any way to have RegEx Pal wrap lines? Thanks, BEH
BEH 418 asked Jul 31, 2017
0 votes
1 answer 199 views
A user pointed out that when editing a translation, with the back translation open, back translation seemed to be adding new lines ... PTx 9.1.104 image895 351 7.02 KB Any ideas?
MSEAIT_LT 478 asked Jun 8, 2021
0 votes
3 answers 862 views
[There is no Help topic for RegEx Pal, so I'll start this thread for myself or anyone else to add helpful ... History panic (post #3) Key terms for search: regular expression
wdavidhj 1.4k asked Jun 5, 2019
+1 vote
5 answers 802 views
I want to change lowercase to uppercase in certain situations - for instance I want to change all lowercase after a colon to ... very simple list and then adding to it as you go.
Phil_Leckrone 9.8k asked Mar 2, 2022
0 votes
2 answers 204 views
When displaying a text collection, the verse from each verse is displayed on each line. If that verse contains ... collection view comparing the same verse in different resources.
bit 495 asked Aug 5, 2022
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
Dear friends, since God so loved us, we also ought to love one another.
1 John 4:11
3,037 questions
5,994 answers
5,661 comments
2,022 users