200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 在JavaScript字符串的search()方法中 如何匹配正则表达式?

在JavaScript字符串的search()方法中 如何匹配正则表达式?

时间:2022-02-04 15:52:12

相关推荐

在JavaScript字符串的search()方法中 如何匹配正则表达式?

第一节:基本概念

#JavaScript#正则表达式已经成为各大编程语言的标准,只是在不同的语言中,所使用的方式有所不同,但基本上核心的功能都是一样的。

正则表达式的核心功能是建立一种匹配模式,这个匹配模式可以理解为模板,模子。

然后再拿具体的字符串来与这个模式进行匹配,如果匹配上,则表示符合要求,则进一步采用措施。

第二节:正则表达式特点

正则表达式是由字符串组成的。正则表达式只是一种搜索模式或匹配模式。对于具体的字符串,需要经过正则表达式的计算后,形成一个值来判断是否匹配上。正则表达式可简单,可复杂,需要根据语法定义模式。在各个编程语言中,也会推出一些与正则表达式相关的辅助操作,如替找操作等。第三节:正则表达式语法

在JavaScript中,对于正则表达式的定义,使用字面量表示法的基本语法如下:

/模式/修饰符

基本语法说明如下:

使用两个/来表示一个正则表达式匹配模式。第一个/后面跟匹配模式。例如:var patt = /Yido/i,Yido是一个简单的匹配模式,用于字符串的搜索。第二个/后面跟修饰符标志。这里的修饰符标志是i,表示不分区大小写进行匹配。

第四节:search()方法的使用

4.1. 基本含义

search()方法是字符串对象的方法,可与正则表达式对接,用于将当前字符串在正则表达式中搜索并匹配。

Search()方法返回的类型是一个整数值:

返回第一次匹配到的字符串的开始索引值,索引值是从0开始的。如果字符串没有在正则表达式中匹配到,则返回-1。4.2. 参数是正则表达式

当我们使用JavaScript定义一个字符串后,在字符串对象上可以使用search()方法,并且可以将正则表达式做为参数传入到该方法中。

Search()方法的使用正则表达式的代码如下:

<script type="text/javascript">//正则表达式var patt = /Yido/i;//字符串var str1 = "Hello Yido Online Edu.";//返回查找的索引位置var index = str1.search(patt);document.write(index);</script>

在此代码中,/Yido/i是一个简单的正则表达式,表示在字符串中搜索是否存在Yido,i表示不区分大小写,如果匹配到了,则返回相应的索引值,如果没有匹配到,则返回-1。

在Visual Studio 中的完整代码如下:

图1

现在运行一下图1的代码,看是否能匹配上Yido,返回的整数是多少:

图2

从运行的结果上看,返回的结果是6,表示匹配到了,字符串匹配上的起始位置是6。

再来看一个例子,JavaScript代码如下:

<script type="text/javascript">var x = /[0-9]/i;var s1 = "Hello World 8";var index = s1.search(x);document.write(index);</script>

在此JS代码中,正则表达式中使用了[0-9],表示0到9之间的整数。可匹配0-9之间的整数。

在字符串s1中,有一个整数值8,现在这段代码的含义是在s1字符串中匹配0-9之间的整数,正好8在0-9之间,所以是可以匹配上的。运行结果如下:

图3

在字符串的索引值为12的位置匹配成功了。

4.3. 参数是字符串

对于search方法,还可以使用字符串作为参数。实际上是将字符串参数转换成了一个兼容的正则表达式。

JavaScript代码如下:

<script type="text/javascript">//正则表达式var patt = "Yido";//字符串var str1 = "Hello Yido Online Edu.";//返回查找的索引位置var index = str1.search(patt);document.write(index);</script>

在此JS代码中,将定义正则表达式的两个/去掉了,变成了一个普通的字符串,但是运行出来的结果,还是6,表示匹配成功了,这说明还是将patt字符串转换为了正则表达式来匹配。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。