20 lines
589 B
Plaintext
20 lines
589 B
Plaintext
![]() |
In regular expressions the boundaries `+\^+` and `+\A+` can only match at the beginning of the input (or, in case of `+\^+` in combination with the `+MULTILINE+` flag, the beginning of the line) and `+$+`, `+\Z+` and `+\z+` only at the end.
|
||
|
|
||
|
These patterns can be misused, by accidentally switching `+\^+` and `+$+` for example, to create a pattern that can never match.
|
||
|
|
||
|
|
||
|
== Noncompliant Code Example
|
||
|
|
||
|
----
|
||
|
// This can never match because $ and ^ have been switched around
|
||
|
Pattern.compile("$[a-z]*^"); // Noncompliant
|
||
|
----
|
||
|
|
||
|
|
||
|
== Compliant Solution
|
||
|
|
||
|
----
|
||
|
Pattern.compile("^[a-z]*$");
|
||
|
----
|
||
|
|