(译)JavaScript 中的正则表达式(RegEx)实操——快速掌握正则表达式,伴有随手可练的例子————(翻译未完待续)

(原文:https://blog.bitsrc.io/a-beginners-guide-to-regular-expressions-regex-in-javascript-9c58feb27eb4)

当你第一次看到正则,它们就像随意堆放的字符,看起来毫无意义。不过尽管他们看起来很棘手(因为复杂的语法规则),他们却极其有用。

事实是,正确地理解了正则表达式,能让你成为一个更加高明的程序员。为了完全了解正则表达式的世界,你需要先学习一些基本概念,在此基础上才能有所作为。

废话不多说,让我们开始吧。

什么是正则表达式(Regular Expression)

RegEx是一种描述字符串模式的方法。描述或匹配所用的表达式形成了自己独特的一种小小的编程语言,跻身于众语言之列——诸如Javascript, Perl, Python, Php, 和 Java。

RegEx能让你检查一些Email地址或密码等字符串,并寻找其中与之前制定的特征模式相匹配的元素,将这些有效元素提取出来并进行后续加工。

创造一个正则表达式

在Javascript中,有两种方式创建RegEx。它既可以通过‘RegExp‘构造器,也可以用正斜杠( / )封装匹配模型。

正则表达式构造器:

语法:

new RegExp(pattern[, flags]);

示例:

var regexConst = new RegExp(‘abc‘);

原生态正则表达式:

语法:

/pattern/flags;

示例:

var regexLiteral = /abc/;

? 这里的flags是可选的,我会在本篇后续进行说明。

有些情况我们需要创建动态的正则表达式,这时候原生态的就不管用了,必须用构造器了。

不管用哪种方式,都是创建了一个模式对象,两种方式的模式对象都有同样的功能和特征。

因为是要用到正斜杠( / )来创建匹配模式,所以应该避免误用反斜杠(  \  )。

正则表达式测试

简单匹配模式

一些特殊字符

实战练习

总结

---恢复内容结束---

原文地址:https://www.cnblogs.com/oler/p/9490607.html

时间: 2024-10-09 17:51:25

(译)JavaScript 中的正则表达式(RegEx)实操——快速掌握正则表达式,伴有随手可练的例子————(翻译未完待续)的相关文章

[译]JavaScript中,{}+{}等于多少?

[译]JavaScript中,{}+{}等于多少? 原文:http://www.2ality.com/2012/01/object-plus-object.html 最近,Gary Bernhardt在一个简短的演讲视频“Wat”中指出了一个有趣的JavaScript怪癖:在把对象和数组混合相加时,会得到一些你意想不到的结果.本篇文章会依次讲解这些计算结果是如何得出的. 在JavaScript中,加法的规则其实很简单,只有两种情况:你只能把数字和数字相加,或者字符串和字符串相加,所有其他类型的值

[译]App Framework 2.1 (1)之 Quickstart (未完待续)

最近有移动App项目,选择了 Hybrid 的框架Cordova  和  App Framework 框架开发. 本来应该从配置循序渐进开始写的,但由于上班时间太忙,这段时间抽不出空来,只能根据心情和兴趣,想到哪写到哪,前面的部分以后慢慢补上. App Framework 前生是是叫 jqMobi 注意大家不要和 jQuery Mobile 混淆了,它们是两个不同的框架,一开始我还真混淆了0.01秒. 这里我先翻译一下Quickstart 部分,一是自己工作上用的上,二是也想顺便练练英文,最关键

javascript有用小功能总结(未完待续)

1)javascript让页面标题滚动效果 代码如下: <title>您好,欢迎访问我的博客</title> <script type="text/javascript"> function scroll() { //获取title信息. var titleInfo = document.title; //获取title第一个字符(数字.字母). //注释:字符串中第一个字符的下标是 0.如果参数 index 不在 0 与 string.length

JavaScript中String对象的match()、replace() 配合正则表达式使用

正则表达式由来已久,查找替换功能非常强大,但模板难记复杂. JavaScript中String对象的match().replace()这2个方法都要使用正则表达式的模板.当模板内容与字符串不相匹配时,match()返回null,replace()返回原字符串. 正则表达式的模板对象 //标准写法 regexp = new RegExp(pattern[, flag]); pattern: 模板的用法是关键,也是本章的主要内容. flag: "i"(ignore)."g&quo

[译]Javascript中的错误信息处理(Error handling)

本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU&list=PL6n9fhu94yhUA99nOsJkKXBqokT3MBK0b 在Javascript中使用try/catch/finally来处理runtime的错误.这些runtime错误被称为exceptions.各种各样的原因都可能导致exception.比如,使用没有申明的变量或者方法都可

[译]javascript中的依赖注入

前言 在上文介绍过控制反转之后,本来打算写篇文章介绍下控制反转的常见模式-依赖注入.在翻看资料的时候,发现了一篇好文Dependency injection in JavaScript,就不自己折腾了,结合自己理解翻译一下,好文共赏. 我喜欢引用这样一句话'编程是对复杂性的管理'.可能你也听过计算机世界是一个巨大的抽象结构.我们简单的包装东西并重复的生产新的工具.思考那么一下下,我们使用的编程语言都包括内置的功能,这些功能可能是基于其他低级操作的抽象方法,包括我们是用的javascript. 迟

[译]Javascript中闭包的各种例子

本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU&list=PL6n9fhu94yhUA99nOsJkKXBqokT3MBK0b 在本次的视频中我们将讨论一个简单的Javascript闭包例子.每次我们点击页面上的按钮的时候,我们都想要点击计数增加1.为了达到这个目的,我们有很多中途径. 首先我们可用一个全局变量,然后每次我们点击按钮后,这个变量增

w3school之JavaScript学习笔记-未完待续

在前端测试过程中,少不了听到开发说到JS,JS在webJavaScript 是浏览器脚本语言(简称JS),主要用来向HTML页面添加交互行为. 学习网址:http://www.w3school.com.cn/js/js_intro.asp 写入HTML输出 document.write("html元素") 对事件作出反应 <button type="button" onclick="alert('Welcome!')">点击这里<

java中的集合操作类(未完待续)

申明: 实习生的肤浅理解,如发现有错误之处,还望大牛们多多指点 废话 其实我写java的后台操作,我每次都会遇到一条语句:List<XXXXX> list = new ArrayList<XXXXX>(); 但是我仅仅只是了解,list这个类是一个可变长用来存储的对象实例的类,我甚至觉得这个List对象可以理解成数组,但是却又与java中咱们正常理解的数组很多的不同,比如说,他的长度可以随着需要自动增长,比如说,实例化一个List类就和咱们声明数组的时候是不一样的! 今天的实习生活