31 lines
629 B
Plaintext
31 lines
629 B
Plaintext
== Why is this an issue?
|
|
|
|
include::../description.adoc[]
|
|
|
|
To match a literal string instead of a regular expression, either all special characters should be escaped, the `Pattern.LITERAL` flag or methods that don't use regular expressions should be used.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,java]
|
|
----
|
|
Pattern.compile("([");
|
|
str.matches("([");
|
|
str.replaceAll("([", "{");
|
|
str.matches("(\\w+-(\\d+)");
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,java]
|
|
----
|
|
Pattern.compile("\\(\\[");
|
|
Pattern.compile("([", Pattern.LITERAL);
|
|
str.equals("([");
|
|
str.replace("([", "{");
|
|
str.matches("(\\w+)-(\\d+)");
|
|
----
|
|
|
|
include::../rspecator.adoc[]
|