regex ile ikinci virgülden önceki kelimeyi bulmak

3 Cevap php

Ben bir dize ikinci virgülden önceki sözcüğü kaydetmek istediğiniz.

Yani dize şöyle görünüyor: Merhaba, benim adım David, bla bla olduğunu.

Ben bir değişken $ test = David ayarlamak istediğiniz

3 Cevap

Sizin regex bu gibi görünebilir:

^[^,]*,[^,]*\b(\w+),

Daha fazla olmayan virgül, sonra bir kelime sınır ve gerçek kelime ardından ilk ardından virgül olmayan virgül herhangi dizisini, ve sonra ikinci virgül Maç.

Bu adıdır txt2re web tabanlı güzel bir araçtır

Ve burada benim yaklaşımdır:

<?php
    $input  = 'Hello, my name is David, bla bla.';
    $tmp    = substr( $input, 0, strpos( $input, ',', strpos( $input, ',' ) + 1 ) );
    $word   = substr( $tmp, strrpos( $tmp, ' ' ) + 1 );
    echo $word;
?>