Может кто-нибудь объяснить, что соответствует следующему регулярному выражению?
^.*$
Спасибо!
Может кто-нибудь объяснить, что соответствует следующему регулярному выражению?
^.*$
Спасибо!
Либо вся строка или вся линия, в зависимости от того, используется multiline mode.
Похоже, это соответствует всем ...
Это не дает ответа на вопрос. Чтобы критиковать или просить разъяснения у автора, оставьте комментарий ниже их сообщения. – Ankur
@ Ankur: не согласен. Он непосредственно * отвечает на вопрос, хотя и с небольшим объяснением. Это также, строго говоря, не совсем правильно, но это тоже не означает, что это не ответ. – Mac
все.
^ is the beginning of the string.
. is any character.
* means 0 or more of said characters.
$ is the end of the string.
Так что это регулярное выражение соответствует 0 или более символам, которые начинаются и заканчиваются строкой (это все).
Благодарим вас за объяснение – user73829
+1 для простого простого объяснения – 2010-08-10 14:26:40
По умолчанию большинство реализаций регулярных выражений не будут соответствовать '\ r' и' \ n' для метаданных DOT. Итак, не «все». –
Это будет соответствовать чему угодно.
^
означает начало линии. $
обозначает конец строки. Таким образом, это означает, что выражение должно соответствовать всей переданной строке.
.
будет соответствовать любому персонажу. *
означает, что предмет до него может отображаться от 0 до любого количества раз. Таким образом, это означает, что строка может содержать любое количество символов, включая 0.
Он соответствует всем пустым и непустым строкам. Она может быть разбита на следующие части:
^ : match the beginning of the line
. : match any character except newline
* : match zero or many instances of the match
$ : match the ending of the line
^
= начало строки или строки (в зависимости от настроек).
.
= Любой символ.
*
= Любое число предыдущего символа. В этом случае .
.
$
= Конец строки или строки (зависит от настроек).
Поместите их вместе, и он может соответствовать целой строке или одной целой строке в зависимости от того, что такое многострочные настройки (см. this для получения дополнительной информации).
Похоже, что это соответствует всем, включая пустые строки. *. * Означает, что он соответствует всем (период) 0 или более раз (*). Элементы^и $ избыточны, если вы установили флаг multline (не уверен, что это такое в java).
Похоже, что это хорошо описано в http://download-llnw.oracle.com/javase/1.5.0/docs/api/java/util/regex/Pattern.html. Что случилось с официальной документацией? –