Yanıtlar:
Aşağıdakilere ne dersiniz?
0[xX][0-9a-fA-F]+
0 ile başlayan ifadeyle eşleşir, ardından küçük veya büyük harf x ve ardından 0-9, af veya AF aralığında bir veya daha fazla karakter gelir
/0x[\da-f]/i
, ancak aksi takdirde +1.
Tam sözdizimi, tam gereksinimlerinize ve programlama dilinize bağlıdır, ancak temelde:
/[0-9a-fA-F]+/
veya daha basitçe, i
büyük / küçük harfe duyarlı değildir.
/[0-9a-f]+/i
Ruby kullanacak kadar şanslıysanız şunları yapabilirsiniz:
/\h+/
DÜZENLE - Steven Schroeder'in cevabı, 0x bitini anlamamın yanlış olduğunu fark etmemi sağladı, bu yüzden önerilerimi buna göre güncelledim. Ayrıca 0x ile eşleşmek istiyorsanız, eşdeğerler
/0[xX][0-9a-fA-F]+/
/0x[0-9a-f]+/i
/0x[\h]+/i
DAHA FAZLA EKLENDİ - 0x'in isteğe bağlı olması gerekiyorsa (sorunun işaret ettiği gibi):
/(0x)?[0-9a-f]+/i
Bu, 0x
önekle veya önek olmadan eşleşecek
(?:0[xX])?[0-9a-fA-F]+
Örneklerden biri olan bir MD5'i tespit etmenin aşağıdakilerle yapılabileceğini belirtmekte fayda var:
[0-9a-fA-F]{32}
Perl veya PHP kullanıyorsanız,
[0-9a-fA-F]
ile:
[[:xdigit:]]
Dizenin ortasında belirli bir onaltılık karakter arıyorsanız, "\ xhh" kullanabilirsiniz; burada hh, onaltılık karakterdir. Denedim ve işe yarıyor. C ++ Qt için çerçeve kullanıyorum ancak diğer durumlarda problemleri çözebilir, kullanmanız gereken tada (php, javascript, python, golang, vb.) Bağlıdır.
Bu cevap şu adresten alınmıştır: http://ult-tex.net/info/perl/
Bu, üçten fazla geçerli çifte sahip olmamanızı sağlar:
(([a-fA-F]|[0-9]){2}){3}
Üçten fazla veya daha az geçerli karakter çifti eşleşmez.
Kullanıcı yazabilirsiniz Eğer bir girdi içinde bu ihtiyaç 0
ve 0x
olmadan da ancak bir altıgen numarası 0x
öneki:
^0?[xX]?[0-9a-fA-F]*$
Başka bir örnek: css renkleri için onaltılık değerler bir pound işareti veya kare (#) ile başlar, ardından A ve F arasında sayı veya harf olabilen altı karakterdir.
^#[0-9a-fA-F]{6}