Difference between revisions of "Useful regular expressions (Regex)"
(→Show only number-only segments) |
David Daduč (talk | contribs) |
||
Line 1: | Line 1: | ||
− | A regular expression (regex or regexp) is a sequence of characters that define a search pattern. | + | A '''regular expression (regex or regexp)''' is a sequence of characters that define a search pattern.<ref>Check out [https://en.wikipedia.org/wiki/Regular_expression#Basic_concepts this article] for a more detailed explanation of the history of regular expressions and how they work.</ref> They can be very helpful for filtering out segments in the TXLF Editor or for find/replace operations. Below are a few examples of useful regex. When you use them in [[Wordfast Pro]], make sure to tick the '''regex''' box accordingly. |
− | |||
− | Below are a few examples of useful regex. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
==Hide all number-only segments== | ==Hide all number-only segments== | ||
Line 12: | Line 5: | ||
Use the following regex in the segment filtering bar: | Use the following regex in the segment filtering bar: | ||
− | ^(([0-9][^\n]*[^0-9])|([^0-9][^\n]*[0-9])|([^0-9]?[^\n]*[^0-9]))$ | + | ^(([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.) | This regex will also hide numbers with punctuation (decimals, etc.) | ||
− | |||
==Show only number-only segments== | ==Show only number-only segments== | ||
Line 21: | Line 13: | ||
Use the following regex in the segment filtering bar: | Use the following regex in the segment filtering bar: | ||
− | ^(?:(?:-|–|(?:(?:\$|€|£)(?:\h)?))?(?:\d{1,3})(?:\h|,|\.|(?:(?:\h)?(?:%|\$|€|£)))?)+$ | + | ^(?:(?:-|–|(?:(?:\$|€|£)(?:\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: | 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: | ||
Line 36: | Line 28: | ||
Type the following regex in the ''Find what'' field: | Type the following regex in the ''Find what'' field: | ||
− | (^[^,]+?)(,)([^€]+?)(€) | + | (^[^,]+?)(,)([^€]+?)(€) |
Type the following regex in the ''Replace with'' field: | Type the following regex in the ''Replace with'' field: | ||
− | \€$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. | |
− | |||
− | |||
− | + | ==References== | |
− | [[Category:Wordfast Pro | + | [[Category:Wordfast Pro]] |
Revision as of 21:58, 16 April 2021
A regular expression (regex or regexp) is a sequence of characters that define a search pattern.[1] They can be very helpful for filtering out segments in the TXLF Editor or for find/replace operations. Below are a few examples of useful regex. When you use them in Wordfast Pro, make sure to tick the regex box accordingly.
Contents
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:
- Find . and replace with DUMMY
- Find , and replace with .
- 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.
References
- ↑ Check out this article for a more detailed explanation of the history of regular expressions and how they work.