This scenario describes a three-component Job where tExtractRegexFields is used to specify a regular expression that corresponds to one column in the input data, email. The tExtractRegexFields component is used to perform the actual regular expression matching. This regular expression includes field identifiers for user name, domain name and Top-Level Domain (TLD) name portions in each e-mail address. If the given e-mail address is valid, the name, domain and TLD are extracted and displayed on the console in three separate columns. Data in the other two input columns, id and age is extracted and routed to destination as well.
Drop the following components from the Palette onto the design workspace: tFileInputDelimited, tExtractRegexFields, and tLogRow.
Connect tFileInputDelimited to tExtractRegexFields using a Row > Main link, and do the same to connect tExtractRegexFields to tLogRow.
Double-click the tFileInputDelimited component to open its Basic settings view in the Component tab.
Click the [...] button next to the File name/Stream field to browse to the file where you want to extract information from.
The input file used in this scenario is called test4. It is a text file that holds three columns: id, email, and age.
id;email;age 1;firstname.lastname@example.org;24 2;email@example.com;31 3;firstname.lastname@example.org;20
For more information, see tFileInputDelimited.
Click Edit schema to define the data structure of this input file.
Double-click the tExtractRegexFields component to open its Basic settings view.
Select the column to split from the Field to split list: email in this scenario.
Enter the regular expression you want to use to perform data matching in the Regex panel. In this scenario, the regular expression
"([a-z]*)@([a-z]*).([a-z]*)"is used to match the three parts of an email address: user name, domain name and TLD name.
For more information about the regular expression, see http://en.wikipedia.org/wiki/Regular_expression.
Click Edit schema to open the [Schema of tExtractRegexFields] dialog box, and click the plus button to add five columns for the output schema.
In this scenario, we want to split the input email column into three columns in the output flow, name, domain, and tld. The two other input columns will be extracted as they are.
Double-click the tLogRow component to open its Component view.
In the Mode area, select Table (print values in cells of a table).
Press Ctrl+S to save your Job.
Execute the Job by pressing F6 or clicking Run on the Run tab.
The tExtractRegexFields component matches all given e-mail addresses with the defined regular expression and extracts the name, domain, and TLD names and displays them on the console in three separate columns. The two other columns, id and age, are extracted as they are.