Что соответствует этому регулярному выражению Perl? - PullRequest
3 голосов
/ 24 сентября 2011

Я начал изучать регулярные выражения, но в нем так много элементов.Что это соответствует?

$x =~s/\.?0+$//;

Ответы [ 3 ]

12 голосов
/ 24 сентября 2011

Удаляет период и конечные нули с конца строки, изменяя «24,00» на «24».В кусках:

s/  substitute operation
\.  literal period, not a placeholder
?   Period is optional (by the way, probably a bug)
0+  one or more zeros
$   all of this at the end of the string.
//  replace it with nothing, i.e.,  just delete it.

Ошибка?Ну, «2400» будет изменено на «24».Вероятно, не желаемое поведение.

6 голосов
/ 24 сентября 2011

Соответствует нулю или одной буквальной точке, за которой следует один или несколько нулей, а затем конец строки.

\.     #A literal dot
?      #Zero or one of the previous character
0+     #One or more zeros
$      #End of string
3 голосов
/ 25 сентября 2011

Для этого есть приложение !

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...