基于匹配的正则表达式动态替换数据 - JavaScript?
正则表达式 (或正则表达式) 用于匹配文本字符串中的模式。使用 JavaScript,您可以使用正则表达式根据匹配的模式动态替换数据。
本文将解释如何将正则表达式和 JavaScript 结合使用,以便在代码中进行动态替换。我们将介绍正则表达式语法的基础知识、正则表达式对象以及使用它们与 JavaScript 的方法。
JavaScript 提供各种数据类型来存储各种类型的值。由于 JavaScript 引擎以动态方式使用变量,因此在使用 JavaScript 时无需指定变量的类型。在这里,必须使用var指定数据类型。它可以存储任何类型的值,包括字符串、数字等等。
在 JavaScript 中使用 replace()
JavaScript 中的replace()方法用于在字符串中搜索指定的值或正则表达式,并返回一个新字符串,其中指定的值被替换。replace()方法不会更改原始字符串。
语法
以下是replace()的语法
string.replace(searchValue, newValue)
为了更清楚地理解“基于匹配的正则表达式动态更改数据”,让我们来看下面的例子。
示例
在下面的示例中,我们使用一个正则表达式并将其传递给一个函数。然后,函数获取替换键作为输入,如果可用则替换它们,并以换行符显示结果。
<!DOCTYPE html>
<html>
<body>
<script>
const Original= "#T1# to the #T2# the #T3# E-way learning";
const replacements = {
T1: "Welcome",
T2: "Tutorialspoint",
T3: "Best"
};
const afterchange = Original.replace(/#([^#]+)#/g, (match, key) => {
return replacements[key] !== undefined ? "<br />" + replacements[key]: "";
});
document.write("Original:", Original+"<br>");
document.write("afterchange:", afterchange);
</script>
</body>
</html>
当脚本执行时,它将生成一个输出,其中包含原始模板以及在 Web 浏览器上显示的替换模板,这是由执行脚本时触发的事件引起的。
示例
考虑以下示例,其中我们使用正则表达式来动态替换脚本中使用的数据。
<!DOCTYPE html>
<html>
<body>
<p id="tutorial"></p>
<script>
var val = {
"address_1": "Yes",
"address_2": "Hyderabad",
"address_10": "Permanent",
}
var sentence = `Can I Know The Address: #ADDRESS1# You Are From:#ADDRESS2# Is It Current Or Permanent: #ADDRESS10#`
sentence = sentence.replace(/#ADDRESS(\d+)#/g, function(addr, num) {
var str = val["address_"+num]; return str?str+"<br/>":""
})
document.getElementById("tutorial").innerHTML=(sentence);
</script>
</body>
</html>
运行上述脚本后,Web 浏览器将显示与正则表达式进行比较的句子,并通过运行此脚本时触发的事件在网页上进行替换。
示例
执行以下代码以观察如何使用正则表达式动态更改值。
<!DOCTYPE html>
<html>
<body>
<p id="tutorial"></p>
<script>
var temp = `My name is {{fullName}} I live in {{countryName}}`;
var details = {
"fullName": "David Miller",
"countryName": "AUS"
}
replaceName = temp.replace(/\{\{(.+?)\}\}/g, (matching, value) => details[value.trim()]);
document.getElementById("tutorial").innerHTML=(replaceName);
</script>
</body>
</html>
当脚本执行时,事件会被触发,这使得给定的句子与正则表达式进行比较并被替换,然后显示替换后的句子。
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP