gpt4 book ai didi

javascript - 正则表达式 - 仅匹配字符一次 - 然后忽略

转载 作者:行者123 更新时间:2023-11-28 19:05:10 26 4
gpt4 key购买 nike

我问了很多问题,但无法解决我的问题。

我需要匹配多个特殊字符,但只匹配一次。

HTML:

 <form class="FillIn Rearrange">
<input data-correctanswer="ça" type="text">,
<input data-correctanswer="ça" type="text">
<input data-correctanswer="vé" type="text">
<input data-correctanswer="bién" type="text">
</form>

这个 JS 当前返回所有 ç 和 é,但我最多需要 1 个。每个:

 var buttons = '';
$('.FillIn input').each(function () {
var corrAns = $(this).attr('data-correctanswer');


for (var i = 0; i < corrAns.length; i++) {
if (corrAns[i].match(/[éç]/g)) {
buttons += '<button>' + corrAns[i] + '</button>';
}
}
});

fiddle

当前返回 ççéé(所有出现的情况)

需要它返回 çé(每个)。

需要一个可扩展的解决方案,即 .match(/[éçdfga]/g) (或任何额外的字母)

最佳答案

具体操作方法如下:

var buttons = '';

function createButtons(lettersToMatch){
$('.FillIn input').each(function () {
var corrAns = $(this).attr('data-correctanswer');

for (var i = 0; i < corrAns.length; i++) {
var match = corrAns[i].match(new RegExp(lettersToMatch));
if (match) {
buttons += '<button>' + corrAns[i] + '</button>';
lettersToMatch = lettersToMatch.replace(match[0], "");
}
}
});
}

//Testing
createButtons("[éèçêïë]");
$("body").append( buttons );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form class="FillIn Rearrange">
<input data-correctanswer="çaï" type="text">,
<input data-correctanswer="ça" type="text">
<input data-correctanswer="vé" type="text">
<input data-correctanswer="bién" type="text">
</form>

关于javascript - 正则表达式 - 仅匹配字符一次 - 然后忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31838686/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com