温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

javascript中正则表达式的使用方式有哪些

发布时间:2021-01-30 15:55:07 来源:亿速云 阅读:215 作者:Leah 栏目:互联网科技

这期内容当中小编将会给大家带来有关javascript中正则表达式的使用方式有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。

search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。

replace() 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

1.匹配模式

正则表达式查找与模式匹配的字符串部分

在JavaScript中,它们是在正斜杠之间//或使用new RegExp()

例如:

var str = "Visit Jb51.net!";
var n = str.search(/jb51.net/i);

 例子2

<script language="javascript">
var reg=new RegExp("终古","g"); //创建正则RegExp对象
var stringObj="终古人民共和国,终古人民";
var newstr=stringObj.replace(reg,"中国");
alert(newstr);
</script>

例子3

function dotag()
{
第一种写法RegExp
document.form1.tag.value = trim(document.form1.tag.value.replace(new RegExp(',',"gm"),','));
第二种用//
document.form1.tag.value = trim(document.form1.tag.value.replace(/,/gm,",");
}

是不是第二中更好看,第一种遇到\w,还得多加一个\,\\w,所以一般情况下,我们都是用//.

更多的可以参考这篇文章:JavaScript replace new RegExp使用介绍

然后用于match , test或replace

您可以预先定义正则表达式,也可以直接在调用方法时定义

2.匹配多个

一次匹配单个字符,

或将多个字符放在方括号[]中以捕获任何匹配的字符

使用连字号捕获一系列字符-.

举例

[0-9]表示0,1,2...9的数字

[a-z]表示26个小写字母

[A-Z]表示26个大写字母

3.可选标志

在正则表达式的末尾添加可选标志,以修改匹配器的工作方式。

在JavaScript中,这些标志是:

i =不区分大小写 m =多行匹配 g =全局匹配(查找全部,而不是查找一个)

4.开始和结束

在开始处使用插入符号^表示“字符串开始”

在末尾使用美元符号$表示“字符串结尾”

开始将匹配项组合在一起以匹配更长的字符串

在表单验证中,需要前面加 ^后要加$

更多的可以参考这篇文章:https://www.jb51.net/article/118265.htm

5.通配符

使用通配符和特殊的转义字符来匹配较大类的字符

. =除换行符外的任何字符

\ d =数字 \ D =不是数字

\ s =空格 \ S =任何非空白

\ n新行 \w非空字母

6.特定数量

仅将特定数量的匹配字符或组与量词匹配

=零或更多 =还有一个? = 0或1 {3} =正好3倍{2,4} =两倍,三倍或四倍{2,} =两倍或更多倍

7.小括号匹配组

使用parens()捕获组

match会返回完整匹配加上组,除非您使用g标志

使用管道运算符| 在parens()内部以指定该组匹配的内容

| =或

8.反斜杠

要匹配特殊字符,请使用反斜杠\

JS正则表达式中的特殊字符是:^ $ \. * +? ()[] {} |

因此,要匹配一个星号,可以使用:

\ *

不只是*

9.中括号里的^

要匹配某个字符但要匹配某个字符,请在方括号内使用插入号^

这意味着^有两个含义,可能会造成混淆。

当它在正则表达式的前面时,它表示“字符串的开始”,而在方括号内使用时,则表示“不是此字符”。

上述就是小编为大家分享的javascript中正则表达式的使用方式有哪些了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI