JavaScript正则API快速入门笔记

STK之Commu模块之三仿真卫星通信链路参数计算 考虑上述衰减的影响,可以得到卫星接收机输入端的载波功 [C] = [PT] +[GT] +[GR] -[L] -[L1] -[L2] ( 阅读详情

JavaScript正则API快速入门笔记(高清带书签).pdf

一、RegExp 对象

1.1 创建对象

1.1.1 直接量语法    /pattern/attributes

如:

var pattern=/^[1-9]\d{4}$/;

1.1.2 构造函数语法   new RegExp(pattern,attributes);

如:

var pattern = new RegExp("^[1-9]\\d{4}$");

【注意】直接量语法不能用引号,构造函数语法需要引号。

var pattern=/^[1-9]\d{4}$/表示pattern 是一个正则表达式对象,而var pattern=”/^[1-9]\\d{4}$/”表示pattern 是一个字符串。

参数说明:

参数pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。

参数attributes 是一个可选的字符串,包含属性"g"、"i" 和"m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。ECMAScript 标准化之前,不支持m 属性。如果pattern 是正则表达式,而不是字符串,则必须省略该参数。


返回值

一个新的RegExp 对象,具有指定的模式和标志。如果参数pattern 是正则表达式而不是字符串,那么RegExp() 构造函数将用与指定的RegExp 相同的模式和标志创建一个新的

RegExp 对象。如果不用new 运算符,而将RegExp() 作为函数调用,那么它的行为与用new 运算符调用时一样,只是当pattern 是正则表达式时,它只返回pattern,而不再创建一个新的RegExp对象。

抛出异常

SyntaxError - 如果pattern 不是合法的正则表达式,或attributes 含有"g"、"i" 和"m" 之外的字符,抛出该异常。

TypeError - 如果pattern 是RegExp 对象,但没有省略attributes 参数,抛出该异常。


1.2 属性


1.2.1 global 例子

var pattern_g=/\d/g;
var pattern=/\d/;
console.info(pattern_g.global);//true
console.info(pattern.global);//false

1.2.2 ignoreCase 例子

var pattern_i=/\w/i;
var pattern=/\w/;
console.info(pattern_i.ignoreCase);//true
console.info(pattern.ignoreCase);//false

1.2.3 multiline 例子

var pattern_m=/\w/m;
var pattern=/\w/;
console.info(pattern_m.multiline);//true
console.info(pattern.multiline);//false

1.2.4 source 例子

var pattern==/\w+/g;
console.info(pattern.source);//结果为\w+

【提示】该文本不包括正则表达式直接量使用的定界符,也不包括标志g、i、m

1.2.5 lastIndex 例子

var str = "11-22-33-44-55-";
var pattern =/-/g;
while(pattern .test(str)){
document.write("- found. index now at: " + pattern .lastIndex);
document.write("<br />");
}

结果:

- found. index now at: 3

- found. index now at: 6

- found. index now at: 9

- found. index now at: 12

- found. index now at: 15

说明:

该属性存放一个整数,它声明的是上一次匹配文本之后的第一个字符的位置。上次匹配的结果是由方法RegExp.exec() 和RegExp.test() 找到的,它们都以lastIndex 属性所指的位置作为下次检索的起始点。这样,就可以通过反复调用这两个方法来遍历一个字符串中的所有匹配文本。该属性是可读可写的。只要目标字符串的下一次搜索开始,就可以对它进行设置。当方法exec() 或test() 再也找不到可以匹配的文本时,它们会自动把lastIndex属性重置为0。

重要事项:不具有标志g 和不表示全局模式的RegExp 对象不能使用lastIndex 属性。

提示:如果在成功地匹配了某个字符串之后就开始检索另一个新的字符串,需要手动地把这个属性设置为0。

1.3 方法


1.3.1 compile 例子

var data="0-1-22-333-4444-5555";
var pattern=/\d/;
var pattern2=/\d/g;
var result=data.replace(pattern,"*");
document.write("原字符串:"+data+"<br />");
document.write("替换后的字符串:"+result+"<br />");
pattern.compile(pattern2);//也可以写成pattern.compile("\\d","g")
var result1=data.replace(pattern,"*");
document.write("重新编译再替换后的字符串:"+result1+"<br />");

运行结果:

原字符串:0-1-22-333-4444-5555

替换后的字符串:*-1-22-333-4444-5555

重新编译再替换后的字符串:*-*-**-***-****-****

提示:compile()方法用于在脚本执行过程中编译正则表达式,也可用于改变和重新编译正则表达式

1.3.2 exec(String)

返回值

返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为null。

说明

exec() 方法的功能非常强大,它是一个通用的方法,而且使用起来也比test() 方法以及支持正则表达式的String 对象的方法更为复杂。如果exec()找到了匹配的文本,则返回一个结果数组。否则,返回null。此数组的第0 个元素是与正则表达式相匹配的文本,第1 个元素是与RegExpObject的第1 个子表达式相匹配的文本(如果有的话),第2 个元素是与RegExpObject的第2 个子表达式相匹配文本(如果有的话),以此类推。除了数组元素和length 属性之外,exec() 方法还返回两个属性。index 属性声明的是匹配文本的第一个字符的位置。input 属性则存放的是被检索的字符串string。我们可以看得出,在调用非全局的RegExp 对象的exec() 方法时,返回的数组与调用方法String.match() 返回的数组是相同的。但是,当RegExpObject 是一个全局正则表达式时,exec() 的行为就稍微复杂一些。它会在RegExpObject 的lastIndex 属性指定的字符处开始检索字符串string。当exec() 找到了与表达式相匹配的文本时,在匹配后,它将把RegExpObject 的lastIndex 属性设置为匹配文本的最后一个字符的下一个位置。这就是说,您可以通过反复调用exec() 方法来遍历字符串中的所有匹配文本。当exec()再也找不到匹配的文本时,它将返回null,并把lastIndex属性重置为0。

例子:

(function(){
var str = "112abc232hello33kitty";
var patt = new RegExp("\\d+[a-z]+","g");
var result;
while ((result = patt.exec(str)) != null) {
document.write("匹配的文本"+result);
document.write(",匹配的位置:"+patt.lastIndex);
document.write("<br />");
}
})();

运行结果:

匹配的文本:112abc,匹配的位置:6

匹配的文本:232hello,匹配的位置:14

匹配的文本:33kitty,匹配的位置:21

patt 没有分组的情况下

 

patt 添加两个分组后

var patt = new RegExp("(\\d+)([a-z]+)","g");


重要事项:如果在一个字符串中完成了一次模式匹配之后要开始检索新的字符串,就必须手动地把lastIndex属性重置为0。

提示:请注意,无论RegExpObject 是否是全局模式,exec() 都会把完整的细节添加到它返回的数组中。这就是exec() 与String.match() 的不同之处,后者在全局模式下返回的信息要少得多。因此我们可以这么说,在循环中反复地调用exec() 方法是唯一一种获得全局模式的完整模式匹配信息的方法

1.3.3 test 例子

返回值

如果字符串string 中含有与RegExpObject 匹配的文本,则返回true,否则返回false。

说明

调用RegExp 对象r 的test() 方法,并为它传递字符串s,与这个表示式是等价的:(r.exec(s) != null)。

例子:

var str = "112abc232hello33kitty";
var patt1 = new RegExp("\\d+");
var result1=patt1.test(str);//true
var patt2 = new RegExp("world");
var result2=patt2.test(str);//false

1.4 javaScript 字符串对象支持正则表达式的方法

 

1.4.1 search(regexp)

返回值

stringObject 中第一个与regexp 相匹配的子串的起始位置。

注释:如果没有找到任何匹配的子串,则返回-1。

说明

search() 方法不执行全局匹配,它将忽略标志g。它同时忽略regexp 的lastIndex 属性,并且总是从字符串的开始进行检索,这意味着它总是返回stringObject 的第一个匹配的位

置。

例子:

var str = "112AAB";
var patt1 = /[a-z]+/;
var result1=str.search(patt1);//返回-1
var patt2 = /[a-z]+/i;
var result2=str.search(patt2);//返回3

提示:search()对大小写敏感

1.4.2 match(searchvalue),match(regexp)

返回值

存放匹配结果的数组。该数组的内容依赖于regexp是否具有全局标志g。

说明

match() 方法将检索字符串stringObject,以找到一个或多个与regexp匹配的文本。这个方法的行为在很大程度上有赖于regexp是否具有标志g。如果regexp没有标志g,那么match()方法就只能在stringObject中执行一次匹配。如果没有找到任何匹配的文本,match()将返回null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。该数组的第0 个元素存放的是匹配文本,而其余的元素存放的是与正则表达式的子表达式匹配的文本。除了这些常规的数组元素之外,返回的数组还含有两个对象属性。index属性声明的是匹配文本的起始字符在stringObject中的位置,input属性声明的是对stringObject的引用。如果regexp具有标志g,则match()方法将执行全局检索,找到stringObject中的所有匹配子字符串。若没有找到任何匹配的子串,则返回null。如果找到了一个或多个匹配子串,则返回一个数组。不过全局匹配返回的数组的内容与前者大不相同,它的数组元素中存放的是stringObject中所有的匹配子串,而且也没有index属性或input属性。

例子:

var str = "112AAB333CC";
var patt1 = /\d+/;
var result1=str.match(patt1);//返回112
document.write("不加g:"+result1+"<br />");
var patt2 = /\d+/g;
var result2=str.match(patt2);//返回112,333
document.write("加g:"+result2+"<br />");

1.4.3 replace(regexp/substr,replacement)

返回值

一个新的字符串,是用replacement替换了regexp的第一次匹配或所有匹配之后得到的。

说明

字符串stringObject的replace()方法执行的是查找并替换的操作。它将在stringObject中查找与regexp相匹配的子字符串,然后用replacement来替换这些子串。如果regexp具有全局标志g,那么replace()方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。replacement 可以是字符串,也可以是函数。如果它是字符串,那么每个匹配都将由字符串替换。但是replacement中的$ 字符具有特定的含义。

如下表所示,它说明从模式匹配得到的字符串将用于替换。

 

注意:ECMAScript v3规定,replace()方法的参数replacement可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配模式的字符串。接下来的参数是与模式中的子表达式匹配的字符串,可以有0 个或多个这样的参数。接下来的参数是一个整数,声明了匹配在stringObject中出现的位置。最后一个参数是stringObject本身。

1.4.3.1 replace(正则,字符串)
例子1:$`和$’的运用

var str = "112AAB333CC";
var patt1 = /[a-z]+/i;
var result1=str.replace(patt1,"$`");
document.write("用位于匹配到的字符串左侧的字符串来替换匹配到的字符串:
"+result1+"<br />");
var patt2 = /\d+/;
var result2=str.replace(patt2,"$'");
document.write(" 用位于匹配到的字符串右侧的字符串来替换匹配到的字符串:
"+result2+"<br />");

结果(思考一下过程):

原字符串:112AAB333CC

用位于匹配到的字符串左侧的字符串来替换匹配到的字符串:112112333CC

用位于匹配到的字符串右侧的字符串来替换匹配到的字符串:AAB333CCAAB333CC

例子2:$$的运用

var str = "112¥,333¥";
document.write("原字符串:"+str+"<br />");
var patt1 = /¥/g;
var result1=str.replace(patt1,"$$");//"$"这样也可以
document.write("用$替换¥后:"+result1+"<br />");

结果:

原字符串:112¥,333¥

用$替换¥后:112$,333$

例子3:$&的运用

var str = "112,333";
document.write("原字符串:"+str+"<br />");
var patt1 = /\d+/g;
var result1=str.replace(patt1,"$&cm");
document.write("在数字后面加单位cm:"+result1+"<br />");

结果:

原字符串:112,333

在数字后面加单位cm:112cm,333cm

例子4:$1、$2...$99 的运用

var str = "112aaa,333bbb";
document.write("原字符串:"+str+"<br />");
var patt1 = /(\d+)([a-z]+)/g;
var result1=str.replace(patt1,"$2$1");
document.write("数字和字母互换位置:"+result1+"<br />");

结果:

原字符串:112aaa,333bbb

数字和字母互换位置:aaa112,bbb333

1.4.3.2 replace(正则,function(){})

1.4.4 split(separator,howmany)

返回值

一个字符串数组。该数组是通过在separator 指定的边界处将字符串stringObject 分割成子串创建的。返回的数组中的字串不包括separator 自身。但是,如果separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。

注释:如果把空字符串("") 用作separator,那么stringObject 中的每个字符之间都会被分割。

注释:String.split() 执行的操作与Array.join 执行的操作是相反的。

例子1:

var str = "1 2,3#9|8.10";
document.write("原字符串:"+str+"<br />");
var result1=str.split(/[\s,#|.]/);
//str.split("[\\s,#|.]")这样写在js 中是错误的,但java 中可以这样写
document.write("分割字符串:"+result1+"<br />");

结果:

原字符串:1 2,3#9|8.10

分割字符串:1,2,3,9,8,10


例子2:

(function(){
		var str='sol1+avg(sole2,sole3,sole4)/sole5';
		
		//没有分组
		var arr1=str.split(/[+(),\/]/);
		
		//有捕获组
		var arr2=str.split(/([+(),\/])/);
		
		//非捕获组
		var arr3=str.split(/(?:[+(),\/])/);
		
	})();

结果:


说明:

可以看出,没有分组和非捕获组分割后的结果是一样的,而又捕获组的结果如下:


也就是说,利用捕获组的时候,那些分隔符也将成为数组结果的一部分,这一点跟java就不太一样了


Android 9.0 延时开机动画解决首次开机黑屏和去掉android正在启动的提示框 在9.0的系统产品rom定制化开发中,在一些产品中会出现在首次开机的时候,由于在开机动画播放完以后会出现几秒短暂的黑屏情况,然后进入默认Launcher,这在产品体验上 也是感觉到有点差,所以会要求在去掉这个首次开机黑屏的效果,和在启动过程中的 android is starting这个提示框的这些效果优化,接下来就分析下相关功能, 然后实现这个功能的开发 阅读详情

相关推荐

ADS高级技巧:用DAC控件实现多变量参数扫描(以S参数和阻抗匹配为例)

本文深入解析了ADS软件中DAC控件的高级应用,指导用户如何利用其实现多变量参数扫描。通过构建支持多变量的MDF文件,并将其与原理图变量动态映射,可以高效完成如S参数和阻抗匹配等复杂场景的联合仿真与可视化分析,显著提升射频电路设计的效率和深度。

3a9bq4r8t2y的博客 253

常用的RegExp总结

第一部分介绍正则的定义 1. 正则的介绍 let reg = /pattern/flags pattern 像上面let后面定义的则为正则的定义,pattern是其中的正则表达式(可以包含字符、限定符、分组、向前查找、反向引用) flags 校验的标志 常用的有(g:全局匹配 i : 不区分大小写匹配) 2.正则的定义 字面变量法 // 定义全局条件 let reg = /a/g;...

titoni_yunruohan的博客 1144

基于Ventoy制作单个U盘引导Windows+Linux+黑苹果macOS

一款国内高手开发的一个名为Ventoy的开源多系统启动U盘制作工具,官方链接:https://www.ventoy.net/cn/index.html Ventoy 特点 不影响U盘日常普通使用 直接从ISO文件启动,无需解开 支持MBR和GPT分区格式(1.0.15+) 支持超过4GB的ISO文件 支持大部分常见操作系统, 已测试650+ 个ISO文件 不仅仅是启动,而是完整的安装过程 版本升级时数据不会丢失 Ventoy 待改进 不支持macOS和ChromeOS 准备2个空的U.

wybarcelona的博客 3万+

深度学习完全攻略!(连载二十:你家有老鼠吗?手把手教你怎么用faster-rcnn找出老鼠)

之前做的一个demo,我想想还是分享出来吧。 1.准备工作 首先你可以参考我的另外一篇博客搭建自己的深度学习平台。 《深度学习完全攻略!(连载六:CUDA10.1+tensorflow+VS+anaconda3安装)》 不用多说了,记得安装VS,我安装的时VS2015. 进入anaconda promopt,执行对应的命令,安装依赖包 activate tensorflow-gp...

Aoulun的博客 1549

Linux -- 图形界面配置Samba;system-config-samba工具

图形界面配置Samba6.6.1 system-config-sambasystem-config-samba是Red Hat公司专门为Samba服务器管理编写的图形界面的管理工具,通过system-config-samba几乎可以完成对Samba服务器的所有配置,所以在只希望通过Samba服务器实现一些简单的资源共享时,system-config-samba是一个不错的选...

weixin_33695450的博客 2200

智能车图像处理19-进阶篇11--斜入十字补线

这篇文章主要讲述智能车竞赛中如何对于斜入十字进行补线操作。

taiyuezyh的博客 7482

JavaScript正则表达式详解

第一章 正则表达式字符匹配攻略 第二章正则表达式位置匹配攻略 第三章 正则表达式括号的作用 第四章 正则表达式回溯法原理 第五章 正则表达式的拆分 第六章 正则表达式的构建 第七章 正则表达式编程 后记 下面简单地说说每一章都讨论了什么? 正则是匹配模式,要么匹配字符,要么匹配位置。 第1章和第2章以这个角度去讲解了正则的基础。 在正则中可以使用括号捕获数据,要么在API中进...

AC总有一天的博客 9001

【0000】PostgreSQL V17.4 内核源码剖析专栏(2017 ~ 2025.11.28 更新)

本专栏将会持续更新,直到将PostgreSQL V13.2源码涉及的所有原理、技术剖析完成为止。每一篇文章都是经过多次的源码阅读 + 调试,得以验证之后才梳理成文章形式。最终该专栏的文章数量应该在一万篇或以下,这也是文章序号从【0000】开始的缘故。通过本专栏的学习,能够让你掌握PostgreSQL数据库中的每个技术背后,底层的实现原理。

Postgres 数据库内核开发工程师 1万+

JavaScript快速入门笔记之七(String:字符串类型、RegExp:正则表达式)

什么是字符串?底层本质 :一串字符组成的*只读*字符数组 包装类型:临时封装原始类型数据,并提供对数据操作方法的对象——类型名和原始类型名相同! String Number Boolean 何时使用:不必手动创建! js在使用原始类型调用函数时,会自动创建对应的包装类型。 包装类型生命周期:调用函数时,临时创建 函数调用完立刻释放! 1. 大小写转换:str.toUpperCase() str.toLowerCase() 2. 获取指定位置字符

eshine Lau 的博客 1118

Tmux学习总结

Tmux 重要概念 使用 Tmux 的时候千万不要去背指令,所有的指令都可以在 .tmux.conf 配置文件中绑定自己顺手的快捷键,也可以配置开启鼠标。 这个是我的配置文件:https://github.com/zuorn/tmux.conf 在Tmux逻辑中,需要分清楚Server > Session > Window > Pane这个大小和层级顺序是极其重要的,直接关系到工作效率: Server:是整个tmux的后台服务。有时候更改配置不生效,就要使用tmux kill-

满目星辰 578

【WorkBuddy专栏15】灵感被折叠到「更多」里,真的不重要了吗?——一个「被低估」功能的当下价值与未来演变

【WorkBuddy专栏15】灵感被折叠到「更多」里,真的不重要了吗?——一个「被低估」功能的当下价值与未来演变

AI人人懂 961

JS Analyzer实战案例:从JavaScript文件中挖掘AWS密钥与敏感API的3个技巧

JS Analyzer是一款强大的Burp Suite扩展工具,专为JavaScript代码分析设计,能精准识别并提取AWS密钥、敏感API端点等关键信息,有效降低噪音干扰。在Web应用安全审计中,它能帮助安全人员快速定位潜在的敏感信息泄露风险。 ## 技巧一:利用内置正则模式精准捕获AWS密钥 JS Analyzer的核心功能之一是通过预设的正则表达式模式识别各类敏感凭证。在[js_anal

gitblog_00262的博客 790

Android/Linux驱动开发:使用dev_dbg进行设备驱动调试

在本文中,我们将介绍如何使用dev_dbg宏和相关的函数来进行设备驱动调试。函数在该目录下创建了一个名为"debug"的debugfs文件。在这些函数中,您可以执行与您的设备驱动相关的调试操作。函数在该目录下创建了一个名为"debug"的debugfs文件。在这些函数中,您可以执行与您的设备驱动相关的调试操作。的结构体指针,其中包含了我们定义的文件操作函数。的结构体指针,其中包含了我们定义的文件操作函数。在上面的示例中,我们首先通过调用。在上面的示例中,我们定义了。在上面的示例中,我们定义了。

ByteKnight的博客 372

JS正则表达式完整版(入门到精通)

在实现方式上: v-if是根据后面数据的真假值判断直接从Dom树上删除或重建元素节点 v-show只是在修改元素的css样式,也就是display的属性值,元素始终在Dom树上。 在性能消耗上: v-if有更高的切换消耗,不适合做频繁的切换; v-show有更高的初始渲染消耗,适合做频繁的额切换; ...

Danny 1036

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

如何快速上手JS Analyzer?从安装到检测API端点的完整指南

JS Analyzer 是一款强大的 Burp Suite 扩展工具,专为 JavaScript 静态分析设计。它能够从 JavaScript 文件中智能提取 API 端点、URL、密钥和电子邮件地址,并通过智能噪音过滤确保结果准确性,是 Web 安全测试人员的必备工具。 ## 🚀 为什么选择 JS Analyzer? 作为一款专注于 JavaScript 分析的 Burp Suite 扩展

gitblog_00804的博客 666

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

purl.js源码深度剖析:Steven Levithan正则解析器的JavaScript实现

purl.js是一个基于Steven Levithan正则表达式的JavaScript URL解析器,它为开发者提供了简单而强大的URL解析功能。这个轻量级工具库虽然已不再维护,但其优雅的设计和高效的实现仍然值得我们深入学习和研究。在前端开发中,URL解析是一个常见但容易出错的任务,purl.js通过巧妙的正则表达式设计解决了这一问题。 ## 🔍 purl.js的核心功能解析 purl.js

gitblog_00803的博客 390

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

如何快速发现隐藏API端点:LinkFinder终极JavaScript解析工具详解

LinkFinder是一款强大的Python脚本工具,专为发现JavaScript文件中的端点及其参数而设计。无论是渗透测试人员还是漏洞猎人,都能通过这款工具在测试网站上收集新的、隐藏的端点,从而开拓新的测试领域,发现潜在的安全漏洞。它结合了jsbeautifier美化工具和精心设计的正则表达式,能够精准识别各类URL模式。 ## 为什么选择LinkFinder?四大核心优势 ### 1. 多

gitblog_00540的博客 747

javascript正则

正则表达式

weixin_45712583的博客 1537

ms.js终极指南:快速掌握JavaScript毫秒转换技巧

ms.js是一个轻量级的JavaScript时间转换工具库,专门用于在时间格式与毫秒之间进行便捷转换。无论你是前端开发者还是Node.js工程师,这个库都能显著简化时间处理任务。 ## 🚀 快速入门指南 ### 安装与基础使用 首先克隆项目到本地: ```bash git clone https://gitcode.com/gh_mirrors/msj/ms.js cd ms.js ``

gitblog_00054的博客 1092

randexp.js入门教程:10分钟掌握正则表达式随机生成技巧

你是否曾经需要生成随机测试数据,但手动编写既耗时又容易出错?🤔 今天我要为你介绍一个神奇的JavaScript库——**randexp.js**,它能让你在短短10分钟内掌握正则表达式随机生成的终极技巧!这个强大的工具可以轻松创建符合指定正则表达式模式的随机字符串,让你的测试数据生成变得简单高效。 ## 🚀 什么是randexp.js? **randexp.js** 是一个专门用于生成符合

gitblog_00416的博客 963

终极指南:如何使用mark.js快速实现JavaScript关键词高亮

想要在网页中优雅地突出显示搜索关键词?mark.js正是你需要的解决方案!这个轻量级的JavaScript库专为关键词高亮而生,支持多种使用场景,从简单的文本标记到复杂的搜索高亮,都能轻松应对。无论你是前端新手还是资深开发者,mark.js都能为你提供简单高效的文本标记体验。🚀 ## 🔍 什么是mark.js? mark.js是一个功能强大的JavaScript关键词高亮库,能够快速在DO

gitblog_01027的博客 495

js 正则表达式

js 正则表达式

倔强的钢蛋 1089

replace正则表达式教程:掌握JavaScript语法的文本替换技巧

想要快速、高效地在多个文件中进行文本搜索和替换吗?😊 replace是一个功能强大的命令行工具,它使用JavaScript正则表达式语法,让您能够轻松处理文件中的文本替换任务。无论是简单的字符串替换还是复杂的模式匹配,replace都能帮助您快速完成任务。 ## 什么是replace工具?🤔 replace是一个基于Node.js的命令行搜索和替换工具,它类似于传统的sed命令,但具有更强

gitblog_00170的博客 486

推荐项目:Automata.js - JavaScript实现的正则表达式转换器

推荐项目:Automata.js - JavaScript实现的正则表达式转换器 项目介绍 Automata.js 是一个由JavaScript编写的开源库,它能够将常规的正则表达式转换为有限状态机(如非确定性有限自动机,NFA)。这个项目不仅提供API供开发者进行正则表达式的解析和转换,还支持通过Graphiz的dot脚本绘制状态转移图。此外,Automata.js 还有一个在线版本,让你可以在...

gitblog_00019的博客 423

JavaScript基础笔记

1.JS概述 1.1.JS是干什么的 指定网页行为 1.2.JS历史 1995年5月,网景公司, Brendan Eich(布兰登·艾奇)花了10天时间写出来的,刚开始的JS叫做:LiveScript。 1995年12月,改名为JavaScript 1.3.JS特点 脚本语言,无需编译(读一行执行一行) 基于对象,弱类型语言 交互性,可以与用户交互 安全性,只能在浏览器内运行 跨平台,只要有浏览器即可,与平台无关 2.HTML中引入 (1)通过Script标签引入JS (2)引入外部的JS文件 通过Scri

weixin_45915971的博客 203

【前端学习笔记】JS篇·三

即library,是一个封装好的特定的集合(方法和函数)。简单理解,就是一个JS文件,里面堆我们原生的js代码进行了封装,存放到里面。这样我们就可以快速高效地使用这些封装好的功能。比如jQuery,就是为了快速方便地操作DOM,里面基本都是函数(方法)。常见JavaScript库:jQuery、Prototype、YUI、Dojo、Ext JS、移动端的zepto。jQuery是一个快速、简洁的JavaScript库,其设计宗旨是"write less, do more",提倡写更少的代码,做更多的事情。j

v876774538的博客 1606
上一篇: 超级全的Web大前端工具集
下一篇: javaScript中String.replace()的第二个参数为函数时的用法介绍
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值