to polecenieGNU grep regex `[一 - 十]` (jedna dziesiąta) nie zgadza się z chińskich znaków 四 (cztery)
$ echo '一二三四五六七八九十' | grep -oE '[一-十]'
wyjścia:
一
二
三
五
六
七
八
九
十
regex [一-十]
(jeden do dziesięciu) ma się równać z chińskimi liczbami. Jak pokazuje przykład, pasuje do każdej chińskiej liczby od jednego do dziesięciu, z wyjątkiem chińskiego znaku 四
(cztery) .
Dlaczego?
Czy to błąd, czy żart?
Mogę myśleć, że to żart, ponieważ po chińsku "四" (cztery) brzmi podobnie "事" (rzecz). W rzeczywistości w niektórych dialektach języka chińskiego mają tę samą wymowę. Tak więc "一 二三 五六七 八 九十" (jeden dwa trzy pięć sześć siedem osiem dziewięć dziesięć) implikuje "沒 四" (nie cztery), tj. "沒事" (nie ma rzeczy)
BTW, wersja grep używam:
GNU grep 2.5.4
Dziękujemy za szybką odpowiedź. Howerver, używam "-" (ascii, nie chińskie znaki) zamiast "一". Więc pasuje do zakresu. Czy możesz edytować swoją odpowiedź? Wtedy mogę to zaakceptować. – weakish
@ Brzydkie brzydoty mówią o pierwszej postaci twojego zakresu, a nie o kresce między punktami końcowymi. – lanzz
@lanzz Dziękuję za wskazanie mojego błędu. "一" i "-" wyglądają podobnie. Powinienem był zauważyć "U + 4E00". – weakish