Как использовать многобайтовые символы UTF-8 в группах регулярных выражений для preg_match ()? [Дубликат]

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
11
задан rink.attendant.6 20 October 2014 в 05:37
поделиться

1 ответ

Вы можете использовать:

$foo = preg_replace('/[^\w$\x{0080}-\x{FFFF}]+/u', '', $foo);
  • \w - эквивалентно [a-zA-Z0-9_]
  • \x{0080}-\x{FFFF} для соответствия символам между кодовыми точками U + 0080 and U + FFFF`
  • /u для поддержки Unicode в regex
19
ответ дан anubhava 19 August 2018 в 01:37
поделиться
  • 1
    Да, некоторые примеры сделают это более ясным из OP, я верю – anubhava 20 October 2014 в 05:48
  • 2
    Первоначально я колебался в \w, потому что я не был уверен, что привязка к языковому признаку повлияет на вещи, но похоже, что диапазон Unicode в любом случае охватывает акцентированных персонажей, поэтому я полагаю, что это безопасно. /u - это то, что я ищу, спасибо. С другой стороны, что такое суррогат? – rink.attendant.6 20 October 2014 в 05:52
  • 3
    @ rink.attendant.6: существует диапазон от d800 до dfff, чтобы указать суррогаты в UTF-16, чтобы можно было указать больше символов. Единственный суррогат не является допустимым символом в UTF-16 (пара должна указать действительный символ). Я не могу вспомнить, вызвала ли PCRE ошибку, если она встречает одиночный суррогат в строке. – nhahtdh 20 October 2014 в 05:58
  • 4
    Мне были предоставлены только те требования, которые указаны в вопросе, и мы используем UTF-8, поэтому я не думаю, что это проблема. – rink.attendant.6 20 October 2014 в 06:00
  • 5
    – CPHPython 21 August 2018 в 15:53
  • 6
Другие вопросы по тегам:

Похожие вопросы: