Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用于检查重复项的正则表达式_Javascript_Regex - Fatal编程技术网

Javascript 用于检查重复项的正则表达式

Javascript 用于检查重复项的正则表达式,javascript,regex,Javascript,Regex,我正在写一个HTML/JS宾果游戏。它需要具有允许用户通过输入需要使用正则表达式验证的字符串来指定自己的宾果板的功能。规格如下: 字符串格式将为 B(15,9,8,7,14)I(25,21,20,22,29)N(38,41,f,34,31)G(60,57,48,56,49)O(69,70,72,64,71) 其中B(15,9,8,7,14)表示板上的B列包含 15、9、8、7和14。I(25,21,20,22,29)表示I列包含 25、21、20、22和29。等等。”在字符串中使用f'来 表示

我正在写一个HTML/JS宾果游戏。它需要具有允许用户通过输入需要使用正则表达式验证的字符串来指定自己的宾果板的功能。规格如下:

字符串格式将为

  • B(15,9,8,7,14)I(25,21,20,22,29)N(38,41,f,34,31)G(60,57,48,56,49)O(69,70,72,64,71) 其中B(15,9,8,7,14)表示板上的B列包含 15、9、8、7和14。I(25,21,20,22,29)表示I列包含 25、21、20、22和29。等等。”在字符串中使用f'来 表示自由空间
到目前为止,我已经:


(1[0-0-5[1-5 5[1-5[1-5[1-5[1-5[1-5[1-5[0-5-5[6-9[6-6-9[6-6-9[2[0-9]2[0-9[0-9[0-9[0-9[0-9[0-9[0-9[0-9[0-9]1240-10十十十十十十十十十十十十十十十十十十10)、30,,,,)var>var字符串=////////(B)或(B)(B)(B)(B)(B)(B)德国德国德国)的银行字符串((((((1[3[1[1[1[1[1[1[1[6-6-6-9-9-9-9[6-9[6-9[6-9[6-9[6-9[6-9[6-9[6(((6[1-9]| 7[0-5]),?){5})/G将数字从字符串提取到数组中,并检查重复项:

var bingoStrings=[
“B(15,9,8,7,14)I(25,21,20,22,29)N(38,41,f,34,31)G(60,57,48,56,49)O(69,70,72,64,71)”,
B(15,15,8,7,14)I(25,21,20,22,29)N(38,41,f,34,31)G(60,57,48,56,49)O(69,70,72,64,71)
];
bingoString.forEach(bingoString=>{
var bingoArray=bingoString.match(/\d+/g);
var hasdeplicates=bingoArray.some(数字=>
bingoArray.indexOf(数字)!==bingoArray.lastIndexOf(数字)
);
控制台日志(bingoString);
log(“has”+(hasDuplicates?”:“no”)+“duplicates\n”);

});将数字从字符串提取到数组中,并检查重复项:

var bingoStrings=[
“B(15,9,8,7,14)I(25,21,20,22,29)N(38,41,f,34,31)G(60,57,48,56,49)O(69,70,72,64,71)”,
B(15,15,8,7,14)I(25,21,20,22,29)N(38,41,f,34,31)G(60,57,48,56,49)O(69,70,72,64,71)
];
bingoString.forEach(bingoString=>{
var bingoArray=bingoString.match(/\d+/g);
var hasdeplicates=bingoArray.some(数字=>
bingoArray.indexOf(数字)!==bingoArray.lastIndexOf(数字)
);
控制台日志(bingoString);
log(“has”+(hasDuplicates?”:“no”)+“duplicates\n”);

});
([BINGO])\((\d+(?:,\d+{4}\d+,\d+,f,\d+,\d+)
然后在
上拆分捕获组2,以确保数字在适当的范围内(我假设您会这样做)+确保仅
N
(由捕获组1标识)包含
f
您知道不需要这些字母吗?B只能是:1-15,I:16-30,依此类推?
([BINGO])\(\d+(?:,\d+{4}\d+,\d+,f,\d+,\d+)
然后在
上拆分捕获组2,
以确保数字在适当的范围内(我假设您会这样做)+确保仅
N
(由捕获组1标识)包含
f
您知道不需要这些字母吗?B只能是:1-15,I:16-30,依此类推?