Поиск UUID в тексте с regex

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

TypeA objA;

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

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

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
205
задан Guy 30 October 2014 в 11:27
поделиться

3 ответа

Я соглашаюсь, что по определению Ваш regex не пропускает UUID. Однако может быть полезно отметить, что, если Вы ищете специально для Глобально уникальных идентификаторов Microsoft (GUID), существует пять эквивалентных строковых представлений для GUID:

"ca761232ed4211cebacd00aa0057b223" 

"CA761232-ED42-11CE-BACD-00AA0057B223" 

"{CA761232-ED42-11CE-BACD-00AA0057B223}" 

"(CA761232-ED42-11CE-BACD-00AA0057B223)" 

"{0xCA761232, 0xED42, 0x11CE, {0xBA, 0xCD, 0x00, 0xAA, 0x00, 0x57, 0xB2, 0x23}}" 
37
ответ дан Panos 23 November 2019 в 04:50
поделиться

По определению UUID является 32 шестнадцатеричными цифрами, разделенными в 5 группах дефисами, как Вы описали. Вы не должны скучать ни по кому со своим регулярным выражением.

http://en.wikipedia.org/wiki/Uuid#Definition

9
ответ дан pix0r 23 November 2019 в 04:50
поделиться

Для удара:

grep -E "[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}"

, Например:

[111]gt; echo "f2575e6a-9bce-49e7-ae7c-bff6b555bda4" | grep -E "[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}"
f2575e6a-9bce-49e7-ae7c-bff6b555bda4
0
ответ дан 23 November 2019 в 04:50
поделиться
Другие вопросы по тегам:

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