gpt4 book ai didi

javascript - 用第一个匹配的正则表达式覆盖第二个匹配的正则表达式

转载 作者:行者123 更新时间:2023-12-02 14:46:51 36 4
gpt4 key购买 nike

我想用第一个匹配的正则表达式覆盖第二个匹配的egex,但我的代码看到第二个匹配的egex并删除第一个(不记住)。

例如:如果我输入“baslamak”,它会打印“basLMak”并删除应该是...目标字符串的“a”(我想要的) :巴斯拉马克

$(document).ready(function(){

$("#ta_1").keyup(function(event) {

var text2 = $(this).val();

text2 = text2.replace(/l(?=a)/g, "L");
text2 = text2.replace(/am/g, "M");

$("#ta_1").val(text2);

});

});
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<meta charset="utf-8" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>

<body>

<textarea id="ta_1" rows="5" cols="28" ></textarea>

</body>

</html>

最佳答案

您可以使用以下正则表达式:

([^L]|^)am

...并将捕获的组保留在替换中:

$1M

所以你的代码将变成:

$("#ta_1").keyup(function(event) {
var text2 = $(this).val();
text2 = text2.replace(/l(?=a)/g, 'L');
text2 = text2.replace(/([^L]|^)am/g, '$1M');
$("#ta_1").val(text2);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="ta_1" type="text">

关于javascript - 用第一个匹配的正则表达式覆盖第二个匹配的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36528569/

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