は、以下がダッシュに続く8つの文字のグループにマッチしますときにのみマッチし、その後、4つの文字のグループが続きますダッシュを3回、次に12文字のグループを指定します。
^[a-z0-9]{8}-(?:[a-z0-9]{4}-){3}[a-z0-9]{12}$/
結果を示す短いJavaScriptテストです。
$('.test').each(function(row, item) {
var val = $($(item).children()[0]).html()
var result = /^[a-z0-9]{8}-(?:[a-z0-9]{4}-){3}[a-z0-9]{12}$/gi.test(val);
$($(item).children()[1]).html(result.toString())
});
th {
text-align:left;
padding-right:10px;
}
td {
border: 1px solid #ccc;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table style="border: 1px solid black">
<tr><th>Test</th><th>Result</th><th>Desired Result</th></tr>
<tr class="test"><td>76c24efd-ec42-492a-92df-c62cfd4540a3</td><td></td><td>Good</td></tr>
<tr class="test"><td>76c24efd-ecz42-492a-92df-c62cfd4540a3</td><td></td><td>Bad Length - 2nd segment too long</td></tr>
<tr class="test"><td>76c24efd-ec2-492a-92df-c62cfd4540a31</td><td></td><td>Bad Segment Lengths</td></tr>
<tr class="test"><td>76$24efd-ec42-492a-92df-c62cfd4540a3</td><td></td><td>Bad Char ($)</td></tr>
</table>
使用: '^ [-f0-9] {8} - (?:[-f0-9] {4} - ){3} [-F0- 9] {12} $ ' – anubhava
@anubhavaこの式は16進文字と一致しますが、英数字と一致させたい場合は、" f "のすべてのインスタンスを" z " – andrew