regex来更改特定字符串

regex to change a specific string

本文关键字:字符串 regex      更新时间:2023-09-26

我正在进行一个翻译项目,当用户键入时,我必须更改一些单词,如

"yalama"->"yalama"

"yalamak"->"yalamak"

"kalamadi"->"kalamadi"

"saladi"->"salamadi"

我的代码目前运行良好,但我有一个问题:如果我只键入"Lam",它将更改为"Lm"这没关系。。但是,如果我键入"aLamsiz"(我的意思是任何"xxxLamxxx..")不工作:(

$(document).ready(function(){
$("#ta_1").keyup(function(event) {
var text2 = $(this).val();
text2 = text2.replace(/al/g, "L");
text2 = text2.replace(/([^L]|^)am/g, '$1m');
text2 = text2.replace(/'bLam'b/g, "Lm");
 
$("#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>

只要这个正则表达式就足够了。

text = text.replace(/a[lL]a/g, "aLa");

不完全确定完整的翻译器要做什么,但要获得原始映射,只需在第一个正则表达式中添加一个"a"。

$(document).ready(function(){
$("#ta_1").keyup(function(event) {
var text2 = $(this).val();
text2 = text2.replace(/al/g, "aL");
text2 = text2.replace(/([^L]|^)am/g, '$1m');
text2 = text2.replace(/'bLam'b/g, "Lm");
 
$("#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>