0 votes
722 vues

Can someone answer definitively:

  • What flavour of regex is used in PT Find / Find-and-Replace when you prefix strings with “regex:”?
  • Can regexes be used in the Replace field?
  • If so, do \1, \2, etc work?

“Scope” in my title is to encourage people to comment on what is missing from the scope of regexes used in this context. See this example in a different thread.

Ancienne publication - affichée dans sa langue d'origine
Paratext par (1,4k points)
réaffiché | 722 vues

1 Réponse

0 votes
Meilleure réponse

I believe it’s the same as Paratext uses. Don’t quote me on that.

There is no way to use regular expressions in the Paratext replace field.
Sorry.

Ancienne publication - affichée dans sa langue d'origine
par (571 points)

No problem, we can use RegEx Pal*. I just wanted this information to be clearly recorded on this site. Now anyone can search for “regex in replace” or similar, and find your posting.

* Though I do wish that RegEx Pal could mark points in the Project History!.

Ancienne publication - affichée dans sa langue d'origine

While Paratext does not currently mark a point in history automatically when RegExPal, you can get a point by either opening the History or marking a point in History… Then after the RegExPal replacement is done you again either open History or mark a point. Marking a point has the advantage of allowing you to indicate what change was being run at that point.

Ancienne publication - affichée dans sa langue d'origine

Yes, that’s what I do – and I try to use consistent wording to make it neat.

But it’s good to have the suggestion recorded in this thread.

My point was that it would be nice if RegEx Pal did it, or had the option to, because sometimes I forget.

Ancienne publication - affichée dans sa langue d'origine

Unfortunately, we use 2 different regular expression parsers between
Paratext and RegexPal - probably for historical reasons.

RegexPal uses Python regular expressions -
https://docs.python.org/2/library/re.html

Other code in Paratext uses .Net regular expressions -
https://msdn.microsoft.com/en-us/library/az24scfc(v=vs.110).aspx

An additional complication is that we use IronPython (a .Net implementation
of Python) when the Python searches, so we are reliant on some
conversion code that translates the Python expression to .Net equivalents.

Since users have lots of RegexPal expressions that currently work for them,
we haven’t wanted to change how it does it’s searching.

John+Wickberg
Paratext Support

Ancienne publication - affichée dans sa langue d'origine

Since RegExPal is now a part of Paratext in version 7.6 and later, there is no technical reason it can’t be done. :smirk:

Ancienne publication - affichée dans sa langue d'origine

@hindlemail informed me that we have actually already added in this functionality to Paratext 8.0. :flushed:

Ancienne publication - affichée dans sa langue d'origine

I’m confused: your previous posing implied it had already been added to PT 7.6!

I see that in my 7.6 it’s on Tools ➢ Advanced, but is this any more than a shortcut to RegEx Pal?

Ancienne publication - affichée dans sa langue d'origine
  1. RegexPal is part of PT 7.6
  2. In PT 8.0 RegexPal marks a point in project history before making changes.
Ancienne publication - affichée dans sa langue d'origine

But can you tell us what this means? I notice that RegEx Pal is still a separate executable file. So I ask again: is the menu item in 7.6 any more than just a shortcut to the RegEx Pal executable?

Will there be any control over what and when it marks? If you are testing your regex, you probably don’t want a “Before doing …” marked point every time you click the First button!

In fact I wish that PT’s own Find-and-Replace would not mark a point if no replacements are made. I know that it normally marks two points, and the presence of only one marked Replace point means nothing was replaced, but it’s still a waste of space in the already-very-long Project History. (If you agree, go to my linked topic “Find-and-Replace: Stop it marking a point in Project History if no changes are made” – link is on the right, opposite the top of this post – and tell me in a reply.)

Ancienne publication - affichée dans sa langue d'origine

Yes.
RegExPal executes in the same process as Paratext.

No control - but it smart enough to only do it before the first change is made. ( i.e. first time yes or yes all is clicked)

Ancienne publication - affichée dans sa langue d'origine

Questions connexes

0 votes
8 réponses 1,8k vues
Can someone answer definitively: What flavour of regex is used in RegEx Pal? Scope in my title is to encourage people ... used in this context. See next post for an example.
wdavidhj 1,4k posée juil. 20, 2016
0 votes
1 réponse 255 vues
In Paratext 8, does changing the project scope after initial set up and after having begun registering progress in other books ... project scope (e.g., adding or removing a book)?
drwww 448 posée mai 4, 2017
0 votes
3 réponses 1,3k vues
[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 posée juin 5, 2019
0 votes
4 réponses 675 vues
Le TEXTE EN MAJUSCULES dans un projet est anathème pour les typographes pour diverses raisons. Ils peuvent simplement ... -je soumettre cela comme une demande de fonctionnalité ?
Kent Spielmann 1,8k posée déc. 20, 2017
0 votes
1 réponse 363 vues
I'm working for the first time in PT with a right-to-left language project (I've only used RTL resources up to now). I ... Find string and the Replace string, and ␣ is a space.)
wdavidhj 1,4k posée juil. 21, 2016
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
I urge you, brothers and sisters, to watch out for those who cause divisions and put obstacles in your way that are contrary to the teaching you have learned. Keep away from them.
Romans 16:17
3,055 questions
6,014 réponses
5,677 commentaires
2,033 utilisateurs