Проблема с регулярным выражением в iOS Swift [дубликат]

Примером этого исключаемого исключения является: Когда вы пытаетесь проверить что-то, это null.

Например:

string testString = null; //Because it doesn't have a value (i.e. it's null; "Length" cannot do what it needs to do)

if (testString.Length == 0) // Throws a nullreferenceexception
{
    //Do something
} 

Время выполнения .NET исключение NullReferenceException при попытке выполнить действие над чем-то, что не было инстанцировано, т.е. код выше.

По сравнению с ArgumentNullException, которое обычно выбрано как защитная мера, если метод ожидает, что то, что происходит

Дополнительная информация находится в C # NullReferenceException и Null Parameter .

52
задан Micah 8 November 2010 в 12:39
поделиться

8 ответов

77
ответ дан Pieter van Ginkel 25 August 2018 в 18:54
поделиться
8
ответ дан Anton Gogolev 25 August 2018 в 18:54
поделиться
1
ответ дан Dean Thomas 25 August 2018 в 18:54
поделиться
0
ответ дан dorukayhan 25 August 2018 в 18:54
поделиться

Как правило, и с настройками по умолчанию привязки ^ и $ являются хорошим способом обеспечения соответствия регулярного выражения целой строке.

Несколько предостережений:

Если у вас есть чередование в вашем регулярном выражении, обязательно добавьте ваше регулярное выражение в группу, не связанную с захватом, перед тем, как окружать ее с помощью ^ и $:

^foo|bar$

, конечно, отличается от

^(?:foo|bar)$

Кроме того, ^ и $ могут принимать другое значение (начало / конец строки вместо начала / конца строки ]), если установлены определенные параметры. В текстовых редакторах, поддерживающих регулярные выражения, обычно это поведение по умолчанию. На некоторых языках, особенно Ruby, это поведение нельзя даже отключить.

Поэтому существует еще один набор якорей, которые гарантированно будут совпадать только в начале / конце всей строки:

\A соответствует в начале строки.

\Z соответствует в конце строки или перед окончательным разрывом строки.

\z соответствует в самом конце строки.

Но не все языки поддерживают эти якоря, особенно JavaScript.

25
ответ дан Tim Pietzcker 25 August 2018 в 18:54
поделиться
15
ответ дан Tim Robinson 25 August 2018 в 18:54
поделиться
-1
ответ дан Vincent Roy 25 August 2018 в 18:54
поделиться
2
ответ дан Zixav 25 August 2018 в 18:54
поделиться
Другие вопросы по тегам:

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