我嘗試爲荷蘭車牌(kentekens)編寫一些正則表達式,the documentation非常清晰,我只想檢查它們的格式,而不是現在可能的實際字母字符。爲什麼我的正則表達式組量詞不起作用?
My regex (regex101)如下所示:
(([0-9]{1,2}|[a-z]{1,3})-([0-9]{2,3}|[a-z]{2,3})-([0-9]{1,2}|[a-z]{1,2})){8}/gi
然而,這沒有返回匹配,而
([0-9]{1,2}|[a-z]{1,3})-([0-9]{2,3}|[a-z]{2,3})-([0-9]{1,2}|[a-z]{1,2}/gi
確實
但是我做喜歡檢查總長度以及。
JS演示片斷
const regex = /([0-9]{1,2}|[a-z]{1,3})-([0-9]{2,3}|[a-z]{2,3})-([0-9]{1,2}|[a-z]{1,2})/gi;
const str = `XX-99-99
2 \t 1965 \t 99-99-XX
3 \t 1973 \t 99-XX-99
4 \t 1978 \t XX-99-XX
5 \t 1991 \t XX-XX-99
6 \t 1999 \t 99-XX-XX
7 \t 2005 \t 99-XXX-9
8 \t 2009 \t 9-XXX-99
9 \t 2006 \t XX-999-X
10 \t 2008 \t X-999-XX
11 \t 2015 \t XXX-99-X`;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
PHP還是javascript? – chris85
@ chris85項目是PHP,但要快速顯示問題,我收錄了一個js演示:) –