javascript中10个正则表达式使用介绍基础篇

 更新时间:2020-05-11 14:32:47   作者:佚名   我要评论(0)

在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。
search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字

在 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.开始和结束

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

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

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

果博东方在表单验证中,需要前面加 ^后要加$

更多的可以参考这篇文章:http://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.中括号里的^

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

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

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

10.总结

正则表达式可用于查找和匹配各种内容,从url到文件名

然而! 如果您尝试将正则表达式用于真正复杂的任务,请务必谨慎,例如解析电子邮件(这确实令人困惑,非常快)或HTML(非常规语言,因此无法由正则表达式完全解析)

正则表达式还有(当然)还有更多,例如懒惰vs贪婪,超前和捕获

果博东方更多的可以查看这篇文章:http://www.jb51.net/article/181099.htm

但是大多数web开发人员想要使用正则表达式的东西都可以仅使用这些基本构建块。

我已经在写一堆有关真实世界正则表达式用例的后续文章🎉

原文:http://dev.to/chrisachard/intro-to-regex-for-web-developers-2fj4

译文:http://caibaojian.com/10-regex-tip.html

脚本之家小编特别补充,在这里推荐大家查看下面的文章。

您可能感兴趣的文章:

  • 正则表达式30分钟入门教程
  • 揭开正则表达式的神秘面纱(regexlab出品)

果博东方相关的文章

  • javascript中10个正则表达式使用介绍基础篇

    javascript中10个正则表达式使用介绍基础篇

    在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。 search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字
    2020-05-11
  • javascript正则表达式标记中/g /i /m的用法,以及实例

    javascript正则表达式标记中/g /i /m的用法,以及实例

    一,js正则标志/g,/i,/m说明 1,/g (globle)表示该表达式将用来在输入字符串中查找所有可能的匹配,全文查找出现的所有匹配字符,返回的结果可以是多个。如果不加/
    2020-05-11
  • javascript正则表达式RegExp入门图文教程

    javascript正则表达式RegExp入门图文教程

    正则表达式是啥? 正则表达式又叫作“规则表达式”(Regular Expression 即 RegExp),是计算机科学的一个概念。 正则表达式有什么用? 它常被用来搜索、替换那些符
    2020-05-11
  • js中的正则表达式入门(大量实例代码)

    js中的正则表达式入门(大量实例代码)

    什么是正则表达式呢? 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个字符串是否含有某种子串、将匹配的子串做替换或者从某个字符串
    2020-05-11
  • linux 正则表达式grep实例分析

    linux 正则表达式grep实例分析

    在很多技术领域(如:自然语言处理,数据存储等),正则表达式可以很方便的提取我们想要的信息,所以正则表达式是一个很重要的知识点! 一、概念 正则表达式(Regul
    2020-05-11
  • 正则表达式匹配闭合HTML标签(支持嵌套)

    正则表达式匹配闭合HTML标签(支持嵌套)

    任何复杂的正则表达式都是由简单的子表达式组成的,要想写出复杂的正则来,一方面需要有化繁为简的功底,另外一方面,我们需要从正则引擎的角度去思考问题。关于正则
    2020-05-11
  • python 正则表达式语法学习笔记

    python 正则表达式语法学习笔记

    正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的
    2020-05-11
  • linux下关于正则表达式grep的一点总结

    linux下关于正则表达式grep的一点总结

    正则表达式(Regular Expression)是用于描述一组字符串特征的模式,用来匹配特定的字符串。通过特殊字符+普通字符来进行模式描述,从而达到文本匹配目的工具。类似
    2020-05-11
  • 学会Python正则表达式,就看这20个例子(脚本之家修正版)

    学会Python正则表达式,就看这20个例子(脚本之家修正版)

    正则表达式是处理字符串的强大工具。作为一个概念而言,正则表达式对于Python来说并不是独有的。但是,Python中的正则表达式在实际使用过程中还是有一些细小的差别。
    2020-05-11
  • 正则表达式[\s\S]*与[\w\W]* 什么意思

    正则表达式[\s\S]*与[\w\W]* 什么意思

    问: 例如:[a-z]表示从a到z之间的任意一个。 不是这样的吗?谁能给我解释一下[ ]的所有用法?感谢 答: 是完全通配的意思,\s是指空白,包括空格、换行、tab缩进
    2020-05-11

最新评论

安以轩怀二胎成吉思汗十大未解之谜黄秋生竞选遭拒撒泼南昌大学吉林禁止居民进京六一葫芦兄弟邮票