public class RegExUtils extends Object
Helpers to process Strings using regular expressions.
Pattern
Constructor and Description |
---|
RegExUtils() |
Modifier and Type | Method and Description |
---|---|
static String |
removeAll(String text,
Pattern regex)
Removes each substring of the text String that matches the given regular expression pattern.
|
static String |
removeAll(String text,
String regex)
Removes each substring of the text String that matches the given regular expression.
|
static String |
removeFirst(String text,
Pattern regex)
Removes the first substring of the text string that matches the given regular expression pattern.
|
static String |
removeFirst(String text,
String regex)
Removes the first substring of the text string that matches the given regular expression.
|
static String |
removePattern(String text,
String regex)
Removes each substring of the source String that matches the given regular expression using the DOTALL option.
|
static String |
replaceAll(String text,
Pattern regex,
String replacement)
Replaces each substring of the text String that matches the given regular expression pattern with the given replacement.
|
static String |
replaceAll(String text,
String regex,
String replacement)
Replaces each substring of the text String that matches the given regular expression
with the given replacement.
|
static String |
replaceFirst(String text,
Pattern regex,
String replacement)
Replaces the first substring of the text string that matches the given regular expression pattern
with the given replacement.
|
static String |
replaceFirst(String text,
String regex,
String replacement)
Replaces the first substring of the text string that matches the given regular expression
with the given replacement.
|
static String |
replacePattern(String text,
String regex,
String replacement)
Replaces each substring of the source String that matches the given regular expression with the given
replacement using the
Pattern.DOTALL option. |
public RegExUtils()
public static String removeAll(String text, Pattern regex)
Removes each substring of the text String that matches the given regular expression pattern.
This method is anull
safe equivalent to:
pattern.matcher(text).replaceAll(StringUtils.EMPTY)
A null
reference passed to this method is a no-op.
StringUtils.removeAll(null, *) = null StringUtils.removeAll("any", (Pattern) null) = "any" StringUtils.removeAll("any", Pattern.compile("")) = "any" StringUtils.removeAll("any", Pattern.compile(".*")) = "" StringUtils.removeAll("any", Pattern.compile(".+")) = "" StringUtils.removeAll("abc", Pattern.compile(".?")) = "" StringUtils.removeAll("A<__>\n<__>B", Pattern.compile("<.*>")) = "A\nB" StringUtils.removeAll("A<__>\n<__>B", Pattern.compile("(?s)<.*>")) = "AB" StringUtils.removeAll("A<__>\n<__>B", Pattern.compile("<.*>", Pattern.DOTALL)) = "AB" StringUtils.removeAll("ABCabc123abc", Pattern.compile("[a-z]")) = "ABC123"
text
- text to remove from, may be nullregex
- the regular expression to which this string is to be matchednull
if null String inputreplaceAll(String, Pattern, String)
,
Matcher.replaceAll(String)
,
Pattern
public static String removeAll(String text, String regex)
Removes each substring of the text String that matches the given regular expression.
This method is anull
safe equivalent to:
text.replaceAll(regex, StringUtils.EMPTY)
Pattern.compile(regex).matcher(text).replaceAll(StringUtils.EMPTY)
A null
reference passed to this method is a no-op.
Unlike in the removePattern(String, String)
method, the Pattern.DOTALL
option
is NOT automatically added.
To use the DOTALL option prepend "(?s)"
to the regex.
DOTALL is also known as single-line mode in Perl.
StringUtils.removeAll(null, *) = null StringUtils.removeAll("any", (String) null) = "any" StringUtils.removeAll("any", "") = "any" StringUtils.removeAll("any", ".*") = "" StringUtils.removeAll("any", ".+") = "" StringUtils.removeAll("abc", ".?") = "" StringUtils.removeAll("A<__>\n<__>B", "<.*>") = "A\nB" StringUtils.removeAll("A<__>\n<__>B", "(?s)<.*>") = "AB" StringUtils.removeAll("ABCabc123abc", "[a-z]") = "ABC123"
text
- text to remove from, may be nullregex
- the regular expression to which this string is to be matchednull
if null String inputPatternSyntaxException
- if the regular expression's syntax is invalidreplaceAll(String, String, String)
,
removePattern(String, String)
,
String.replaceAll(String, String)
,
Pattern
,
Pattern.DOTALL
public static String removeFirst(String text, Pattern regex)
Removes the first substring of the text string that matches the given regular expression pattern.
This method is anull
safe equivalent to:
pattern.matcher(text).replaceFirst(StringUtils.EMPTY)
A null
reference passed to this method is a no-op.
StringUtils.removeFirst(null, *) = null StringUtils.removeFirst("any", (Pattern) null) = "any" StringUtils.removeFirst("any", Pattern.compile("")) = "any" StringUtils.removeFirst("any", Pattern.compile(".*")) = "" StringUtils.removeFirst("any", Pattern.compile(".+")) = "" StringUtils.removeFirst("abc", Pattern.compile(".?")) = "bc" StringUtils.removeFirst("A<__>\n<__>B", Pattern.compile("<.*>")) = "A\n<__>B" StringUtils.removeFirst("A<__>\n<__>B", Pattern.compile("(?s)<.*>")) = "AB" StringUtils.removeFirst("ABCabc123", Pattern.compile("[a-z]")) = "ABCbc123" StringUtils.removeFirst("ABCabc123abc", Pattern.compile("[a-z]+")) = "ABC123abc"
text
- text to remove from, may be nullregex
- the regular expression pattern to which this string is to be matchednull
if null String inputreplaceFirst(String, Pattern, String)
,
Matcher.replaceFirst(String)
,
Pattern
public static String removeFirst(String text, String regex)
Removes the first substring of the text string that matches the given regular expression.
This method is anull
safe equivalent to:
text.replaceFirst(regex, StringUtils.EMPTY)
Pattern.compile(regex).matcher(text).replaceFirst(StringUtils.EMPTY)
A null
reference passed to this method is a no-op.
The Pattern.DOTALL
option is NOT automatically added.
To use the DOTALL option prepend "(?s)"
to the regex.
DOTALL is also known as single-line mode in Perl.
StringUtils.removeFirst(null, *) = null StringUtils.removeFirst("any", (String) null) = "any" StringUtils.removeFirst("any", "") = "any" StringUtils.removeFirst("any", ".*") = "" StringUtils.removeFirst("any", ".+") = "" StringUtils.removeFirst("abc", ".?") = "bc" StringUtils.removeFirst("A<__>\n<__>B", "<.*>") = "A\n<__>B" StringUtils.removeFirst("A<__>\n<__>B", "(?s)<.*>") = "AB" StringUtils.removeFirst("ABCabc123", "[a-z]") = "ABCbc123" StringUtils.removeFirst("ABCabc123abc", "[a-z]+") = "ABC123abc"
text
- text to remove from, may be nullregex
- the regular expression to which this string is to be matchednull
if null String inputPatternSyntaxException
- if the regular expression's syntax is invalidreplaceFirst(String, String, String)
,
String.replaceFirst(String, String)
,
Pattern
,
Pattern.DOTALL
public static String removePattern(String text, String regex)
Removes each substring of the source String that matches the given regular expression using the DOTALL option.
This call is anull
safe equivalent to:
text.replaceAll("(?s)" + regex, StringUtils.EMPTY)
Pattern.compile(regex, Pattern.DOTALL).matcher(text).replaceAll(StringUtils.EMPTY)
A null
reference passed to this method is a no-op.
StringUtils.removePattern(null, *) = null StringUtils.removePattern("any", (String) null) = "any" StringUtils.removePattern("A<__>\n<__>B", "<.*>") = "AB" StringUtils.removePattern("ABCabc123", "[a-z]") = "ABC123"
text
- the source stringregex
- the regular expression to which this string is to be matchedString
replacePattern(String, String, String)
,
String.replaceAll(String, String)
,
Pattern.DOTALL
public static String replaceAll(String text, Pattern regex, String replacement)
Replaces each substring of the text String that matches the given regular expression pattern with the given replacement.
This method is anull
safe equivalent to:
pattern.matcher(text).replaceAll(replacement)
A null
reference passed to this method is a no-op.
StringUtils.replaceAll(null, *, *) = null StringUtils.replaceAll("any", (Pattern) null, *) = "any" StringUtils.replaceAll("any", *, null) = "any" StringUtils.replaceAll("", Pattern.compile(""), "zzz") = "zzz" StringUtils.replaceAll("", Pattern.compile(".*"), "zzz") = "zzz" StringUtils.replaceAll("", Pattern.compile(".+"), "zzz") = "" StringUtils.replaceAll("abc", Pattern.compile(""), "ZZ") = "ZZaZZbZZcZZ" StringUtils.replaceAll("<__>\n<__>", Pattern.compile("<.*>"), "z") = "z\nz" StringUtils.replaceAll("<__>\n<__>", Pattern.compile("<.*>", Pattern.DOTALL), "z") = "z" StringUtils.replaceAll("<__>\n<__>", Pattern.compile("(?s)<.*>"), "z") = "z" StringUtils.replaceAll("ABCabc123", Pattern.compile("[a-z]"), "_") = "ABC___123" StringUtils.replaceAll("ABCabc123", Pattern.compile("[^A-Z0-9]+"), "_") = "ABC_123" StringUtils.replaceAll("ABCabc123", Pattern.compile("[^A-Z0-9]+"), "") = "ABC123" StringUtils.replaceAll("Lorem ipsum dolor sit", Pattern.compile("( +)([a-z]+)"), "_$2") = "Lorem_ipsum_dolor_sit"
text
- text to search and replace in, may be nullregex
- the regular expression pattern to which this string is to be matchedreplacement
- the string to be substituted for each matchnull
if null String inputMatcher.replaceAll(String)
,
Pattern
public static String replaceAll(String text, String regex, String replacement)
Replaces each substring of the text String that matches the given regular expression with the given replacement.
This method is anull
safe equivalent to:
text.replaceAll(regex, replacement)
Pattern.compile(regex).matcher(text).replaceAll(replacement)
A null
reference passed to this method is a no-op.
Unlike in the replacePattern(String, String, String)
method, the Pattern.DOTALL
option
is NOT automatically added.
To use the DOTALL option prepend "(?s)"
to the regex.
DOTALL is also known as single-line mode in Perl.
StringUtils.replaceAll(null, *, *) = null StringUtils.replaceAll("any", (String) null, *) = "any" StringUtils.replaceAll("any", *, null) = "any" StringUtils.replaceAll("", "", "zzz") = "zzz" StringUtils.replaceAll("", ".*", "zzz") = "zzz" StringUtils.replaceAll("", ".+", "zzz") = "" StringUtils.replaceAll("abc", "", "ZZ") = "ZZaZZbZZcZZ" StringUtils.replaceAll("<__>\n<__>", "<.*>", "z") = "z\nz" StringUtils.replaceAll("<__>\n<__>", "(?s)<.*>", "z") = "z" StringUtils.replaceAll("ABCabc123", "[a-z]", "_") = "ABC___123" StringUtils.replaceAll("ABCabc123", "[^A-Z0-9]+", "_") = "ABC_123" StringUtils.replaceAll("ABCabc123", "[^A-Z0-9]+", "") = "ABC123" StringUtils.replaceAll("Lorem ipsum dolor sit", "( +)([a-z]+)", "_$2") = "Lorem_ipsum_dolor_sit"
text
- text to search and replace in, may be nullregex
- the regular expression to which this string is to be matchedreplacement
- the string to be substituted for each matchnull
if null String inputPatternSyntaxException
- if the regular expression's syntax is invalidreplacePattern(String, String, String)
,
String.replaceAll(String, String)
,
Pattern
,
Pattern.DOTALL
public static String replaceFirst(String text, Pattern regex, String replacement)
Replaces the first substring of the text string that matches the given regular expression pattern with the given replacement.
This method is anull
safe equivalent to:
pattern.matcher(text).replaceFirst(replacement)
A null
reference passed to this method is a no-op.
StringUtils.replaceFirst(null, *, *) = null StringUtils.replaceFirst("any", (Pattern) null, *) = "any" StringUtils.replaceFirst("any", *, null) = "any" StringUtils.replaceFirst("", Pattern.compile(""), "zzz") = "zzz" StringUtils.replaceFirst("", Pattern.compile(".*"), "zzz") = "zzz" StringUtils.replaceFirst("", Pattern.compile(".+"), "zzz") = "" StringUtils.replaceFirst("abc", Pattern.compile(""), "ZZ") = "ZZabc" StringUtils.replaceFirst("<__>\n<__>", Pattern.compile("<.*>"), "z") = "z\n<__>" StringUtils.replaceFirst("<__>\n<__>", Pattern.compile("(?s)<.*>"), "z") = "z" StringUtils.replaceFirst("ABCabc123", Pattern.compile("[a-z]"), "_") = "ABC_bc123" StringUtils.replaceFirst("ABCabc123abc", Pattern.compile("[^A-Z0-9]+"), "_") = "ABC_123abc" StringUtils.replaceFirst("ABCabc123abc", Pattern.compile("[^A-Z0-9]+"), "") = "ABC123abc" StringUtils.replaceFirst("Lorem ipsum dolor sit", Pattern.compile("( +)([a-z]+)"), "_$2") = "Lorem_ipsum dolor sit"
text
- text to search and replace in, may be nullregex
- the regular expression pattern to which this string is to be matchedreplacement
- the string to be substituted for the first matchnull
if null String inputMatcher.replaceFirst(String)
,
Pattern
public static String replaceFirst(String text, String regex, String replacement)
Replaces the first substring of the text string that matches the given regular expression with the given replacement.
This method is anull
safe equivalent to:
text.replaceFirst(regex, replacement)
Pattern.compile(regex).matcher(text).replaceFirst(replacement)
A null
reference passed to this method is a no-op.
The Pattern.DOTALL
option is NOT automatically added.
To use the DOTALL option prepend "(?s)"
to the regex.
DOTALL is also known as single-line mode in Perl.
StringUtils.replaceFirst(null, *, *) = null StringUtils.replaceFirst("any", (String) null, *) = "any" StringUtils.replaceFirst("any", *, null) = "any" StringUtils.replaceFirst("", "", "zzz") = "zzz" StringUtils.replaceFirst("", ".*", "zzz") = "zzz" StringUtils.replaceFirst("", ".+", "zzz") = "" StringUtils.replaceFirst("abc", "", "ZZ") = "ZZabc" StringUtils.replaceFirst("<__>\n<__>", "<.*>", "z") = "z\n<__>" StringUtils.replaceFirst("<__>\n<__>", "(?s)<.*>", "z") = "z" StringUtils.replaceFirst("ABCabc123", "[a-z]", "_") = "ABC_bc123" StringUtils.replaceFirst("ABCabc123abc", "[^A-Z0-9]+", "_") = "ABC_123abc" StringUtils.replaceFirst("ABCabc123abc", "[^A-Z0-9]+", "") = "ABC123abc" StringUtils.replaceFirst("Lorem ipsum dolor sit", "( +)([a-z]+)", "_$2") = "Lorem_ipsum dolor sit"
text
- text to search and replace in, may be nullregex
- the regular expression to which this string is to be matchedreplacement
- the string to be substituted for the first matchnull
if null String inputPatternSyntaxException
- if the regular expression's syntax is invalidString.replaceFirst(String, String)
,
Pattern
,
Pattern.DOTALL
public static String replacePattern(String text, String regex, String replacement)
Replaces each substring of the source String that matches the given regular expression with the given
replacement using the Pattern.DOTALL
option. DOTALL is also known as single-line mode in Perl.
null
safe equivalent to:
text.replaceAll("(?s)" + regex, replacement)
Pattern.compile(regex, Pattern.DOTALL).matcher(text).replaceAll(replacement)
A null
reference passed to this method is a no-op.
StringUtils.replacePattern(null, *, *) = null StringUtils.replacePattern("any", (String) null, *) = "any" StringUtils.replacePattern("any", *, null) = "any" StringUtils.replacePattern("", "", "zzz") = "zzz" StringUtils.replacePattern("", ".*", "zzz") = "zzz" StringUtils.replacePattern("", ".+", "zzz") = "" StringUtils.replacePattern("<__>\n<__>", "<.*>", "z") = "z" StringUtils.replacePattern("ABCabc123", "[a-z]", "_") = "ABC___123" StringUtils.replacePattern("ABCabc123", "[^A-Z0-9]+", "_") = "ABC_123" StringUtils.replacePattern("ABCabc123", "[^A-Z0-9]+", "") = "ABC123" StringUtils.replacePattern("Lorem ipsum dolor sit", "( +)([a-z]+)", "_$2") = "Lorem_ipsum_dolor_sit"
text
- the source stringregex
- the regular expression to which this string is to be matchedreplacement
- the string to be substituted for each matchString
replaceAll(String, String, String)
,
String.replaceAll(String, String)
,
Pattern.DOTALL
Copyright © 2001–2020 The Apache Software Foundation. All rights reserved.