Rumah  >  Soal Jawab  >  teks badan

Masalah penyederhanaan ungkapan biasa dalam java atau scala

Terdapat keperluan untuk mengesan sama ada rentetan tertentu ialah enam nombor heksadesimal lapan digit yang disambungkan dengan garis bawah
Contohnya: "1234567F_1234567F_1234567F_1234567F_1234567F_1234567F"
Saya sendiri menulis padanan biasa, seperti berikut:

.
"^[0-9a-fA-F]{8}_[0-9a-fA-F]{8}_[0-9a-fA-F]{8}_[0-9a-fA-F]{8}_[0-9a-fA-F]{8}_[0-9a-fA-F]{8}$"

Ungkapan biasa ini boleh dipadankan dengan jayanya, tetapi ia terasa terlalu rumit dan mempunyai terlalu banyak kandungan berulang Bolehkah ia dipermudahkan?

学习ing学习ing2686 hari yang lalu658

membalas semua(2)saya akan balas

  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-12 09:27:26

    Saya mungkin menulis seperti ini^([0-9a-fA-F]{8}_){5}[0-9a-fA-F]{8}$.

    Sekarang penanya boleh menggunakan {8}, anda boleh mempertimbangkan untuk menggunakan lapan digit heksadesimal + '_' pertama sebagai nombor untuk menyatakan bilangan kejadian.

    balas
    0
  • 怪我咯

    怪我咯2017-06-12 09:27:26

    Anda boleh memudahkan [0-9a-fA-F] sekali lagi:

    ^([^\W_]{8}_){5}[^\W_]{8}$

    balas
    0
  • Batalbalas