Home SALESFORCEAPEX Extract string using Regular Expression in Salesforce Apex

Extract string using Regular Expression in Salesforce Apex

This is achievable with the help of Regular Expression with Apex Pattern and Matcher Classes and below is the some examples:

1). Validate Email Address using Regular Expression in Salesforce Apex:
String InputString = ‘[email protected]’;
String emailRegex = ‘([a-zA-Z0-9_\\-\\.]+)@((\\[a-z]{1,3}\\.[a-z]{1,3}\\.[a-z]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})’;
Pattern MyPattern = Pattern.compile(emailRegex);

// Then instantiate a new Matcher object “validEmailAddress”
Matcher validEmailAddress = MyPattern.matcher(InputString);

if (!validEmailAddress.matches()) {
// invalid, do something
}
2). Match String values using Regular Expression in Salesforce Apex:

String candidate = ‘A0B1C2’;
Pattern p = Pattern.compile(‘[A-Z][0-9][A-Z][0-9][A-Z][0-9]’);
Boolean b = p.matcher(candidate).matches();

3). Remove HTML Tags in String using Regular Expression in Salesforce Apex:

string html = ‘<b>thebloderreaders.com</b>’;
//first replace all <BR> tags with \n to support new lines
string result = html.replaceAll(‘<br/>’, ‘\n’);
result = result.replaceAll(‘<br />’, ‘\n’);

//regular expression to match all HTML/XML tags
string HTML_TAG_PATTERN = ‘<.*?>’;

// compile the pattern
pattern myPattern = pattern.compile(HTML_TAG_PATTERN);

// get your matcher instance
matcher myMatcher = myPattern.matcher(result);

//remove the tags
result = myMatcher.replaceAll(”);
Output: thebloderreaders.com

4). Here are some examples to extract the string value using Regular Expression in Salesforce Apex
(foo|bar) – search for ‘foo’ OR ‘bar’
[a-z^kb] – search for any lowercase letter, but not k and not b
[A-Z^KB] – search for any uppercase letter, but not k and not b
^foo – search for ‘foo’, but only at the beginning of the line
bar$ – search for ‘bar, but only at the end of the line
Reference of Java regular expressions:
http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html
http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html

Important Links for the Patterns and Matchers in Apex Class:
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_pattern_and_matcher_example.htm
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_pattern_and_matcher_using.htm

Online regex tester and debugger: PHP, PCRE, Python, Golang and JavaScript Tool: https://regex101.com/

You may also like

Leave a Comment