Como o Âncora \ ze \ G funciona em Ruby?
Eu estou usando Ruby1.9.3. Eu sou novato nessa plataforma.
Dedoc Eu acabei de me familiarizar com doisanchor
que são\z
e\G
. Agora eu joguei um pouco com\z
para ver como funciona, como a definição (Fim ouFim da corda) me deixou confuso, não consigo entender o que significa dizer - porEnd
. Então eu tentei os pequenos trechos abaixo. Mas ainda incapaz de pegar.
CÓDIGO
irb(main):011:0> str = "Hit him on the head me 2\n" + "Hit him on the head wit>
=> "Hit him on the head me 2\nHit him on the head with a 24\n"
irb(main):012:0> str =~ /\d\z/
=> nil
irb(main):013:0> str = "Hit him on the head me 24 2\n" + "Hit him on the head >
=> "Hit him on the head me 24 2\nHit him on the head with a 24\n"
irb(main):014:0> str =~ /\d\z/
=> nil
irb(main):018:0> str = "Hit1 him on the head me 24 2\n" + "Hit him on the head>
=> "Hit1 him on the head me 24 2\nHit him on the head with a11 11 24\n"
irb(main):019:0> str =~ /\d\z/
=> nil
irb(main):020:0>
Toda vez que eu tenhonil
como a saída. Então, como está indo o cálculo para\z
? o queEnd
significar? - Eu acho que meu conceito levou algo de errado com oEnd
palavra no documento. Então, qualquer um poderia me ajudar a entender o motivo pelo qual isso está acontecendo?
E também não encontrei nenhum exemplo para a âncora\G
. Qualquer exemplo, por favor, de vocês para visualizar como\G
usado em programação em tempo real?
EDITAR
irb(main):029:0>
irb(main):030:0* ("{123}{45}{6789}").scan(/\G(?!^)\{\d+\}/)
=> []
irb(main):031:0> ('{123}{45}{6789}').scan(/\G(?!^)\{\d+\}/)
=> []
irb(main):032:0>
obrigado