PkgImportControl (checkstyle 9.2.1 API)
into a regular expression (handling special characters) or 2) by enclosing
input
ina (non-capturing) group if
input
already is a regular expression.
1) When concatenating a non-regex package component (like “org.google”) with a regex
component (like “[^.]+”) the other component has to be converted into a regex too, see
toRegex(String)
.
2) The grouping is strictly necessary if a) input
is a regular expression that b)
contains the alteration character (‘|’) and if c) the pattern is not already enclosed in a
group – as you see in this example: parent="com|org", child="common|uncommon"
will
result in the pattern "(?:org|com).(?common|uncommon)"
what will match
"com.common"
, "com.uncommon"
, "org.common"
, and "org.uncommon"
. Without the grouping it would be "com|org.common|uncommon"
which
would match "com"
, "org.common"
, and "uncommon"
, which clearly is
undesirable. Adding the group fixes this.
For simplicity the grouping is added to regular expressions unconditionally.
Read more here: Source link