Chcę dopasować wielbłądowe wyrazy zaczynające się od !
, takie jak zawarte w $line
. Używam php 5.3.10-1ubuntu2 with Suhosin-Patch (cli)
.Jak dopasować wykrzyknik (!) W PHP?
Próbuję następujące rzeczy:
$line = preg_replace(" !([A-Z])", " $1", $line);
- wynik:
PHP Warning: preg_replace(): No ending delimiter '!' found
- wynik:
$line = preg_replace(" \!([A-Z])", " $1", $line);
- wynik:
PHP Warning: preg_replace(): Delimiter must not be alphanumeric or backslash
- wynik:
$line = preg_replace(" [!]([A-Z])", " $1", $line);
- wynik:
PHP Warning: preg_replace(): Unknown modifier '('
- wynik:
$line = preg_replace(" [\!]([A-Z])", " $1", $line);
- wynik:
PHP Warning: preg_replace(): Unknown modifier '('
- wynik:
jaki jest prawidłowy sposób dopasować !
w PHP regexp?
Nie musisz uciekać z '!' –
@BartKiers Tak, wiem - właśnie skopiowałem losową jedną z jego opcji - okazało się być drugą. Zaktualizowałem teraz odpowiedź. –
@OP pamiętaj, że aby korzystać z funkcji wyrażeń regularnych php, musisz zawrzeć wyrażenie za pomocą "losowego" (samodzielnie wybranego) ogranicznika. Może to być/(jak w przykładzie), ale także &, * lub cokolwiek innego. Ale prawie każdy przykład znaleziony w Internecie pomija te załączniki (co jest poprawne), więc nie zapomnij o nich :) – giorgio