Java Regular Expressions: Difference between revisions
Jump to navigation
Jump to search
Line 14: | Line 14: | ||
=java.util.regex API= | =java.util.regex API= | ||
The | The default sequence for using regular expressions consists in building a [http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html Pattern] instance, which can be matched against multiple strings by applying it via [http://docs.oracle.com/javase/8/docs/api/java/util/regex/Matcher.html Matcher] instances. The Pattern instance contains a compiled representation of the regular expression. The Matcher uses the Pattern, but encapsulates ''all the state'' required to perform matching against a String, so the Pattern can be shared by multiple Matchers. | ||
Revision as of 21:32, 29 July 2017
External
Internal
Overview
Regular expressions can be used in Java via the String API or java.util.regex API.
java.util.regex API
The default sequence for using regular expressions consists in building a Pattern instance, which can be matched against multiple strings by applying it via Matcher instances. The Pattern instance contains a compiled representation of the regular expression. The Matcher uses the Pattern, but encapsulates all the state required to perform matching against a String, so the Pattern can be shared by multiple Matchers.
The Matcher instances are not thread safe, see Concurrent Usage Considerations below.
Working code is available here:
java.langString API
String s = "...";
s.matches(...);
While convenient in some cases, the String API also delegates to the java.util.regex API via the Pattern.matches() call.
Concurrent Usage Considerations
Matcher instances are NOT thread safe, create a matcher per thread