首页 > 解决方案 > 如何在 Javascript + jquery 中创建正则表达式

问题描述

如何在javascript jquery中为以下(5个字符)-(5个字符)-(4位)-(2位)-(2位)-(1位)创建正则表达式,例如ABCDE-ABCDE-1234-12- 12-1

var txt = 'ABCDE-ABCDE-1234-12-12-1';
    
var re1 = '((?:[a-z][a-z]+))';	// Word 1
var re2 = '.*?';	// Non-greedy match on filler
var re3 = '((?:[a-z][a-z]+))';	// Word 2

var p = new RegExp(re1 + re2 + re3,["i"]);
var m = p.exec(txt);

if (m != null) {
    var word1 = m[1];
    var word2 = m[2];
    document.write("(" + word1.replace(/</,"&lt;") + ")" + "(" + word2.replace(/</,"&lt;") + ")" + "\n");
}

标签: javascriptregex

解决方案


您的模式的正则表达式'ABCDE-ABCDE-1234-12-12-1'如下

var patt = '[A-Z]{5}-[A-Z]{5}-[0-9]{4}-[0-9]{2}-[0-9]{2}-[0-9]{1}'
var patt = new RegExp(patt);
var m = patt.exec('ABCDE-ABCDE-1234-12-12-1');

推荐阅读