JavaScript 如何连接正则表达式字面量
正则表达式(Regex) 是一系列用于与模式进行匹配的模式。在文本中搜索数据时,描述了我们要搜索什么的搜索模式。它可以是单个字符或更复杂的模式。可以用于执行各种类型的文本搜索。正则表达式有自己的静态和实例属性。
语法:
/pattern/modifiers
示例: 正则表达式。
/gfg/g
其中,
- gfg 是一个模式(用于搜索)。
- g 是一个修饰符(将搜索设置为不区分大小写)。
在编程世界中,正则表达式的连接可以理解为将文本模式组合起来以获得一个新的文本模式,例如“Hello” + “World” 是 /HelloWorld/。每当调用 RegExp() 时,它会创建一个新的 RegExp 对象。
示例 1: 这个示例创建了一个表达式,实际上没有使用正则表达式的字面语法。这使您可以在它变成一个正则表达式对象之前进行任意字符串操作。
function gfg() {
var segment_part = " GeeksforGeeks |"
+ " A computer science portal for geeks";
var pattern = new RegExp("GFG:" +
/*comment here */
segment_part +
/* that was defined just now */
"is a computer science portal");
console.log(pattern);
}
gfg();
输出:
/GFG: GeeksforGeeks | A computer science portal for geeksis a computer science portal/
示例2: 如果有两个Regex字面量,您可以使用一种技术将它们连接起来,该技术可以删除重复项,但保留唯一的值,并按顺序将两个正则表达式字面量连接起来。
示例: /hello/y + / world/g 将会变成 /hello world/gy
function gfg() {
var regex1 = /geeks/g;
var regex2 = / for geeks/y;
var flags = (regex1.flags +
regex2.flags).split("")
.sort().join("")
.replace(/(.)(?=.*\1)/g, "");
var regex3 = new RegExp(regex1.source
+ regex2.source, flags);
console.log(regex3);
}
gfg();
输出:
/geeks for geeks/gy