How to match "any character" in regular expression?
Solution 1:
Yes, you can. That should work.
-
.
= any char except newline -
\.
= the actual dot character -
.?
=.{0,1}
= match any char except newline zero or one times -
.*
=.{0,}
= match any char except newline zero or more times -
.+
=.{1,}
= match any char except newline one or more times
Solution 2:
Yes that will work, though note that .
will not match newlines unless you pass the DOTALL flag when compiling the expression:
Pattern pattern = Pattern.compile(".*123", Pattern.DOTALL);
Matcher matcher = pattern.matcher(inputStr);
boolean matchFound = matcher.matches();
Solution 3:
Use the pattern .
to match any character once, .*
to match any character zero or more times, .+
to match any character one or more times.
Solution 4:
The most common way I have seen to encode this is with a character class whose members form a partition of the set of all possible characters.
Usually people write that as [\s\S]
(whitespace or non-whitespace), though [\w\W]
, [\d\D]
, etc. would all work.