Difference between revisions of "Useful regular expressions (Regex)"

From Wordfast Wiki
Jump to: navigation, search
(Invert currency symbols)
Line 33: Line 33:
 
Say you have a lot of monetary values like 103,50€ in your document and you want to globally find/replace with €103.50, how would you do this?
 
Say you have a lot of monetary values like 103,50€ in your document and you want to globally find/replace with €103.50, how would you do this?
  
Open the Find/Replace function and be sure to tick the '''Use Regex''' box.
+
Open the ''Find/Replace'' function and be sure to tick the '''Use Regex''' box.
  
 
Type the following regex in the ''Find what'' field:
 
Type the following regex in the ''Find what'' field:
Line 43: Line 43:
 
\€$1\.$3
 
\€$1\.$3
  
 
+
'''NOTE''': This only works for values up to 999. Values in the thousands will need another regex operation to replace comma/space/decimal with comma/space/decimal.
  
 
----
 
----

Revision as of 14:44, 17 May 2019

A regular expression (regex or regexp) is a sequence of characters that define a search pattern. They can be very helpful for filtering out segments in the TXLF Editor or for find/replace operations. Check out this article for a more detailed explanation of the history of regular expressions and how they work.

Below are a few examples of useful regex.

ATTENTION: Make sure to tick the regex box accordingly.


Hide all number-only segments

Use the following regex in the segment filtering bar:

^(([0-9][^\n]*[^0-9])|([^0-9][^\n]*[0-9])|([^0-9]?[^\n]*[^0-9]))$

This regex will also hide numbers with punctuation (decimals, etc.)


Show only number-only segments

Use the following regex in the segment filtering bar:

^(?:(?:-|–|(?:(?:\$|€|£)(?:\h)?))?(?:\d{1,3})(?:\h|,|\.|(?:(?:\h)?(?:%|\$|€|£)))?)+$

If you have numbers like 8,675,309.00 that need to be replaced with 8.675.309,00, you can copy all sources to target with the filter applied, then apply a 3-step find and replace: 1. Find . and replace with DUMMY 2. Find , and replace with . 3. Find DUMMY and replace with ,


Invert currency symbols

Say you have a lot of monetary values like 103,50€ in your document and you want to globally find/replace with €103.50, how would you do this?

Open the Find/Replace function and be sure to tick the Use Regex box.

Type the following regex in the Find what field:

(^[^,]+?)(,)([^€]+?)(€)

Type the following regex in the Replace with field:

\€$1\.$3

NOTE: This only works for values up to 999. Values in the thousands will need another regex operation to replace comma/space/decimal with comma/space/decimal.


Version: Wordfast Pro 5.8
Operating System: macOS

--John, 17 May 2019