Очевидное объяснение состоит в том, что у вас есть регулярное выражение, которое начинается с метасимвола '?'
, '+'
или '*'
.Может быть, это следовало избежать.Может быть, вы случайно удалили предыдущие вещи, которые «количественно» определены мета-символом.
У меня есть '*'
в начале некоторых выражений - это плохо?
Да.Если предполагается, что он соответствует буквальному символу звездочки, ему должен предшествовать '\'
, чтобы избежать его.(И, как отметил Феликс Клинг, '\'
сам должен быть экранирован, если регулярное выражение встроено в строковый литерал Java.)
Должен ли я ставить '.*'
(то есть точкавместо звездочки?
Зависит от того, что вы хотите, чтобы регулярное выражение соответствовало этой точке.'.*'
означает «нетерпеливо сопоставлять ноль или более символов».Если это то, что вы имеете в виду, это то, что вы должны использовать.