0 votes

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.

Paratext by (1.4k points)
reshown

1 Answer

0 votes
Best answer

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.

by (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!.

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.

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.

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

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:

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

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 ToolsAdvanced, but is this any more than a shortcut to RegEx Pal?

  1. RegexPal is part of PT 7.6
  2. In PT 8.0 RegexPal marks a point in project history before making changes.

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.)

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)

Related questions

0 votes
8 answers
Paratext Jul 20, 2016 asked by wdavidhj (1.4k points)
0 votes
1 answer
0 votes
4 answers
0 votes
1 answer
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
Accept the one whose faith is weak, without quarreling over disputable matters.
Romans 14:1
2,619 questions
5,350 answers
5,037 comments
1,420 users