前端JavaScript入门-day08-正则表达式

这篇具有很好参考价值的文章主要介绍了前端JavaScript入门-day08-正则表达式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)

前端JavaScript入门-day08-正则表达式,# 前端JavaScript入门,javascript,开发语言,前端

目录

介绍

语法 

元字符 

边界符 

量词 

字符类:

修饰符


介绍

正则表达式(Regular Expression)是用于匹配字符串中字符组合的模式。在 JavaScript中,正则表达式也是对象,通常用来查找、替换那些符合正则表达式的文本
正则表达式在 JavaScript中的使用场景:
例如验证表单:用户名表单只能输入英文字母、数字或者下划线, 昵称输入框中可以输入中文( 匹配 )    比如用户名: /^[a-z0-9_-]{3,16}$/
前端JavaScript入门-day08-正则表达式,# 前端JavaScript入门,javascript,开发语言,前端
过滤掉页面内容中的一些敏感词( 替换 ),或从字符串中获取我们想要的特定部分( 提取 )等 

语法 

1. 定义正则表达式语法:

前端JavaScript入门-day08-正则表达式,# 前端JavaScript入门,javascript,开发语言,前端

其中 / / 是正则表达式字面量

比如:

前端JavaScript入门-day08-正则表达式,# 前端JavaScript入门,javascript,开发语言,前端

2.判断是否有符合规则的字符串: 

test() 方法 用来查看正则表达式与指定的字符串是否匹配
语法:
前端JavaScript入门-day08-正则表达式,# 前端JavaScript入门,javascript,开发语言,前端
比如:
console.log(/哈/.test('哈')) // true
console.log(/哈/.test('哈哈')) // true
console.log(/哈/.test('二哈')) // true
如果正则表达式与指定的字符串匹配 ,返回true,否则false

3.检索(查找)符合规则的字符串:

exec() 方法 在一个指定字符串中执行一个搜索匹配
语法:
前端JavaScript入门-day08-正则表达式,# 前端JavaScript入门,javascript,开发语言,前端
比如:
前端JavaScript入门-day08-正则表达式,# 前端JavaScript入门,javascript,开发语言,前端
如果匹配成功,exec() 方法返回一个数组,否则返回null

元字符 

普通字符:
大多数的字符仅能够描述它们本身,这些字符称作普通字符,例如所有的字母和数字。
也就是说普通字符只能够匹配字符串中与它们相同的字符。
元字符(特殊字符)
是一些具有特殊含义的字符,可以极大提高了灵活性和强大的匹配功能。
比如,规定用户只能输入英文26个英文字母,普通字符的话 abcdefghijklm…..
但是换成元字符写法: [a-z]
为了方便记忆和学习,我们对众多的元字符进行了分类:
         边界符表示位置,开头和结尾,必须用什么开头,用什么结尾
        量词表示重复次数
        字符类比如 \d 表示 0~9

边界符 

正则表达式中的边界符(位置符)用来 提示字符所处的位置 ,主要有两个字符
前端JavaScript入门-day08-正则表达式,# 前端JavaScript入门,javascript,开发语言,前端

如果 ^ 和 $ 在一起,表示必须是精确匹配。 

    console.log(/^哈/.test('哈')) // true
    console.log(/^哈/.test('哈哈')) // true
    console.log(/^哈/.test('二哈')) // flase
    console.log(/^哈$/.test('哈')) // true  只有这种情况为true 否则全是false
    console.log(/^哈$/.test('哈哈')) // false
    console.log(/^哈$/.test('二哈')) // false

量词 

量词用来 设定某个模式出现的次数 
前端JavaScript入门-day08-正则表达式,# 前端JavaScript入门,javascript,开发语言,前端

注意: 逗号左右两侧千万不要出现空格

    //  量词 * 类似 >=0 次
    console.log(/^哈$/.test('哈')) // true
    console.log(/^哈*$/.test('')) // true
    console.log(/^哈*$/.test('哈')) // true
    console.log(/^哈*$/.test('哈哈')) // true
    console.log(/^哈*$/.test('二哈很傻')) //  false
    console.log(/^哈*$/.test('哈很傻')) //  false
    console.log(/^哈*$/.test('哈很哈')) // false
    console.log('------------------')
    //  量词 + 类似 >=1 次
    console.log(/^哈$/.test('哈')) // true
    console.log(/^哈+$/.test('')) // false
    console.log(/^哈+$/.test('哈')) // true
    console.log(/^哈+$/.test('哈哈')) // true
    console.log(/^哈+$/.test('二哈很傻')) //  false
    console.log(/^哈+$/.test('哈很傻')) //  false
    console.log(/^哈+$/.test('哈很哈')) // false
    console.log('------------------')
    //  量词 ? 类似  0 || 1
    console.log(/^哈?$/.test('')) // true
    console.log(/^哈?$/.test('哈')) // true
    console.log(/^哈?$/.test('哈哈')) // true
    console.log(/^哈?$/.test('二哈很傻')) //  false
    console.log(/^哈?$/.test('哈很傻')) //  false
    console.log(/^哈?$/.test('哈很哈')) // false
   // 量词 {n} 写几,就必须出现几次
    console.log(/^哈{4}$/.test('哈')) //  false
    console.log(/^哈{4}$/.test('哈哈')) //  false
    console.log(/^哈{4}$/.test('哈哈哈')) //  false
    console.log(/^哈{4}$/.test('哈哈哈哈'))// true
    console.log(/^哈{4}$/.test('哈哈哈哈哈')) //  false
    console.log(/^哈{4}$/.test('哈哈哈哈哈哈')) //  false
    console.log('------------------')
    // 量词 {n,}   >=n
    console.log(/^哈{4,}$/.test('哈'))//  false
    console.log(/^哈{4,}$/.test('哈哈'))//  false
    console.log(/^哈{4,}$/.test('哈哈哈'))//  false
    console.log(/^哈{4,}$/.test('哈哈哈哈'))// true
    console.log(/^哈{4,}$/.test('哈哈哈哈哈'))// true
    console.log(/^哈{4,}$/.test('哈哈哈哈哈哈'))// true
    console.log('------------------')

字符类:

[ ] 匹配字符集合
后面的字符串只要包含 abc 中任意 一个字符 ,都返回 true 。
    // 字符类   [abc]  只选1个
    console.log(/^[abc]$/.test('a'))  // true
    console.log(/^[abc]$/.test('b'))  // true
    console.log(/^[abc]$/.test('c'))  // true
    console.log(/^[abc]$/.test('ab'))  // false
    console.log(/^[abc]{2}$/.test('ab'))  // true

使用连字符 - 表示一个范围

前端JavaScript入门-day08-正则表达式,# 前端JavaScript入门,javascript,开发语言,前端

比如:
     [a-z] 表示 a 到 z 26个英文字母都可以
     [a-zA-Z] 表示大小写都可以
     [0-9] 表示 0~9 的数字都可以
认识下:
前端JavaScript入门-day08-正则表达式,# 前端JavaScript入门,javascript,开发语言,前端
    // 字符类   [a-z]  只选1个
    console.log(/^[A-Z]$/.test('p'))  // false
    console.log(/^[A-Z]$/.test('P'))  // true
    console.log(/^[0-9]$/.test(2))  // true
    console.log(/^[a-zA-Z0-9]$/.test(2))  // true
    console.log(/^[a-zA-Z0-9]$/.test('p'))  // true
    console.log(/^[a-zA-Z0-9]$/.test('P'))  // true
[ ] 里面加上 ^ 取反符号
比如:
     [^a-z] 匹配除了小写字母以外的字符
     注意要写到中括号里面
. 匹配除换行符之外的任何单个字符

预定义:指的是 某些常见模式的简写方式。

前端JavaScript入门-day08-正则表达式,# 前端JavaScript入门,javascript,开发语言,前端前端JavaScript入门-day08-正则表达式,# 前端JavaScript入门,javascript,开发语言,前端

修饰符

修饰符约束正则执行的某些细节行为,如是否区分大小写、是否支持多行匹配等

语法:

前端JavaScript入门-day08-正则表达式,# 前端JavaScript入门,javascript,开发语言,前端

  i 是单词 ignore 的缩写,正则匹配时字母不区分大小写
  g 是单词 global 的缩写,匹配所有满足正则表达式的结果

前端JavaScript入门-day08-正则表达式,# 前端JavaScript入门,javascript,开发语言,前端

替换 replace

语法:

前端JavaScript入门-day08-正则表达式,# 前端JavaScript入门,javascript,开发语言,前端文章来源地址https://www.toymoban.com/news/detail-637999.html

    const str = 'java是一门编程语言, 学完JAVA工资很高'
    const re = str.replace(/java/ig, '前端')
    console.log(re)  // 前端是一门编程语言, 学完前端工资很高

到了这里,关于前端JavaScript入门-day08-正则表达式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JavaScript使用正则表达式

    正则表达式(RegExp)也称规则表达式(regular expression),是非常强大的字符串操作工具,语法格式为一组特殊字符构成的匹配模式,用来匹配字符串。ECMAScript 3以Perl为基础规范JavaScript正则表达式,实现Perl 5正则表达式的子集。JavaScript通过内置RegExp类型支持正则表达式,String和Re

    2024年02月05日
    浏览(60)
  • JavaScript正则表达式基础

    创建正则表达式,一般有两种写法 .test(\\\'需要验证的字符\\\'),正则的方法用来验证正则的匹配结果true or false 修饰符 写法:/正则/ 修饰符 示例:/abc/i (匹配字符串abc并且不区分大小) i:执行对大小写不敏感的匹配(不区分字母的大小写) g:执行全局匹配(查找所有匹配而非在

    2024年02月09日
    浏览(45)
  • day19正则表达式

    正则表达式 能够理解正则表达式的作用 能够使用正则表达式的字符类 能够使用正则表达式的逻辑运算符 能够使用正则表达式的预定义字符类 能够使用正则表达式的限定符 能够使用正则表达式的分组 能够在String的split方法中使用正则表达式 在Java中,我们经常需要验证一些

    2024年02月07日
    浏览(35)
  • JavaScript中的正则表达式

    正则表达式是一种强大的工具,可以在多种编程语言中使用,包括JavaScript。它们允许您在文本中查找和匹配模式,以及执行各种操作,如替换、拆分和验证。在JavaScript中,正则表达式通常用来检查字符串是否符合某种特定模式,并且可以用来从字符串中提取特定的子字符串

    2024年02月02日
    浏览(36)
  • 【23JavaScript 正则表达式】深入解析JavaScript正则表达式:基础概念、常用方法和实例详解,轻松掌握强大的文本模式匹配工具

    正则表达式是一种强大的文本模式匹配工具,用于在字符串中搜索和操作特定的文本模式。在JavaScript中,正则表达式提供了一种灵活的方式来处理字符串操作。 在JavaScript中,可以通过使用字面量表示法或RegExp对象来创建正则表达式。 字面量表示法 RegExp对象 JavaScript中的正则

    2024年02月08日
    浏览(58)
  • javaScript基础语法之正则表达式

    表达式 描述 [0-9] 查找任何从 0 至 9 的数字。例如,匹配: \\\'111\\\' ,不匹配:\\\'eee\\\' [abc] 查找方括号之间的任何字符。例如,/[123]/ 匹配 \\\"1234567\\\" 中的 \\\"123\\\",\\\"1\\\" 中的 \\\"1\\\"。但是不匹配 \\\"4567890\\\"。 [^abc] 查找任何不在方括号之间的字符。例如,/[^123]/ 匹配 \\\"4567890\\\" 中的 \\\"4567890\\\"。但是不匹

    2024年02月09日
    浏览(47)
  • 15个常用的javaScript正则表达式

    c 《大厂前端面试题解析+Web核心总结学习笔记+企业项目实战源码+最新高清讲解视频》无偿开源 徽信搜索公众号【编程进阶路】 onsole.log(uPattern.test(“iFat3”)); 2密码强度正则 //密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符 var pPattern=/

    2024年01月17日
    浏览(60)
  • 防止 JavaScript 中的正则表达式回溯

    正则表达式是用于在软件应用程序中操作和验证文本的强大工具。然而,某些正则表达式模式可能容易受到回溯的影响,这可能会导致超线性运行时,并可能导致DoS攻击。在本文中,我们将探讨什么是回溯、它如何导致性能问题以及如何在正则表达式中防止回溯。 回溯是正则

    2024年02月12日
    浏览(45)
  • JavaScript |(四)正则表达式 | 尚硅谷JavaScript基础&实战

    学习来源 :尚硅谷JavaScript基础实战丨JS入门到精通全套完整版 系列笔记 : JavaScript |(一)JavaScript简介及基本语法 JavaScript |(二)JavaScript自定义对象及函数 JavaScript |(三)内建对象 | 数组 | string对象 JavaScript |(四)正则表达式👇 JavaScript |(五)DOM简介 JavaScript |(六)

    2024年02月14日
    浏览(52)
  • day27 String类 正则表达式

    String s= \\\"腻害\\\"; byte[] bytes = s.getBytes(StandardCharsets.UTF_8); String ss = \\\"ss我的\\\"; byte[] gbks = ss.getBytes(\\\"gbk\\\"); String gbk = new String(gbks, \\\"gbk\\\"); 常见的正则表达式 [abc] : abc三个字符中的任何一个都可以 [^abc] : 除了abc其他任何字符都可以 [a-z] : abcd......z 中的任意一个字符 [a-zA-Z0-9] : a~z A~Z 0~9 中

    2024年02月11日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包