3.4. Setting Regular Expression Options
Problem
You want to compile a regular expression with all of the available matching modes: free-spacing, case insensitive, dot matches line breaks, and caret and dollar match at line breaks.
Solution
C#
Regex regexObj = new Regex("regex pattern", RegexOptions.IgnorePatternWhitespace | RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.Multiline);
VB.NET
Dim RegexObj As New Regex("regex pattern", RegexOptions.IgnorePatternWhitespace Or RegexOptions.IgnoreCase Or RegexOptions.Singleline Or RegexOptions.Multiline)
Java
Pattern regex = Pattern.compile("regex pattern", Pattern.COMMENTS | Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE | Pattern.DOTALL | Pattern.MULTILINE);
JavaScript
Literal regular expression in your code:
var myregexp = /regex pattern/im;
Regular expression retrieved from user input, as a string:
var myregexp = new RegExp(userinput, "im");
PHP
regexstring = '/regex pattern/simx';
Perl
m/regex pattern/simx;
Python
reobj = re.compile("regex pattern", re.VERBOSE | re.IGNORECASE | re.DOTALL | re.MULTILINE)
Ruby
Literal regular expression in your code:
myregexp = /regex pattern/mix;
Regular expression retrieved from user input, as a string:
myregexp = Regexp.new(userinput, Regexp::EXTENDED or Regexp::IGNORECASE or Regexp::MULTILINE);
Discussion
Many of the regular expressions in this book, and those that you find elsewhere, are written to be used with certain regex matching modes. There are four basic modes that nearly all modern regex flavors ...
Get Regular Expressions Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.