js正则表达式

正则表达式都是操作字符串的,由特殊字符与普通字符组成。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

var pattern = /js/;
var str = "I love js"
var pattern = new RegExp('js', 'i');
console.log(pattern.test(str));
console.log(pattern.exec(str));

用变量创建模式
在这里插入图片描述
exec方法有input 就是输入的str
index就是开始匹配到的索引

修饰符

在这里插入图片描述
. 匹配除换行符以外的所有字符

语法

个数

在这里插入图片描述
{2} 匹配两个 {1,2}匹配1个或者2个 {1,3} 匹配1个或者3个
{1,} 匹配至少1个 ?用法等于 {0,1}
在? * + 后面加 ? 将贪婪匹配转为非贪婪匹配 只匹配一次
在这里插入图片描述
在这里插入图片描述

选择

| 选择匹配 a | ab 匹配a或者ab 从左边先开始匹配 从上到下

分组

在这里插入图片描述
将ab看为一个整体
在这里插入图片描述
在前加 ?: ab就不会被捕获 否则会输出 abc ab
在这里插入图片描述
从左边括号开始捕获 abc bc c

在这里插入图片描述
使用\1代表之前第一个分组中的内容 不属于分组
输出:
在这里插入图片描述

分组的应用

在这里插入图片描述
在这里插入图片描述

前瞻性匹配

在这里插入图片描述
只匹配后面为script的java
在这里插入图片描述
只匹配后面不为script的java

首尾匹配

^ $
在这里插入图片描述
只匹配数字

单词边界 \b

通俗一点讲,如果存在字符\w和\W相邻,那么这两个字符之间就有单词边界

全局匹配

在这里插入图片描述
输出结果:
在这里插入图片描述
test机制类似 返回true与false
第一行匹配第一个js 第二行匹配第二个 第四行返回 null 因为匹配完了
第五个又开始从第一个开始
但是第五个又是第0个索引 lastIndex重置为0

lastIndex:lastIndex从字面上来讲就是最后一个索引,实际上它的意思是正则表达式开始下一次查找的索引位置,第一次的时候总是为0的,第一次查找完了的时候会把lastIndex的值设为匹配到得字符串的最后一个字符的索引位置加1,第二次查找的时候会从lastIndex这个位置开始,后面的以此类推。如果没有找到,则会把lastIndex重置为0。

在这里插入图片描述
在这里插入图片描述
非全局匹配 lastIndex均为0

RegExp对象

在这里插入图片描述
1与2类似 返回字符串 3 返回他本身
在这里插入图片描述
1 判断有没有i
2 判断有没有g
3 判断有没有m
Pattern.source 返回字面量形式的字符串

在这里插入图片描述
匹配一个
在这里插入图片描述
input只有在调用了exec 或者test 后才能输出 就是输入的字符串str 别名 $_
lastMatch 最近一次匹配的字符 别名 $&在这里插入图片描述
Left 匹配的字符 左边的字符
Paren 上次匹配到的子选项 j 分组
RegExp .$1 获取第一个分组 最多可以有9个
在这里插入图片描述
search返回 模式在字符串中匹配的位置 5 没有匹配到 返回-1
Search与 全局匹配g 关系不大 match 关系大 全局匹配在search中没用
在这里插入图片描述
match与exec 相像 匹配成功返回 否则返回null
Match 全局匹配时 一次返回所有匹配的
在这里插入图片描述
在这里插入图片描述

拆分

在这里插入图片描述
加不加g不重要
在这里插入图片描述
在这里插入图片描述

replace

在这里插入图片描述
在这里插入图片描述
引用
在这里插入图片描述
几个字就变成几个 *

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript正则表达式和Java正则表达式在语法上有一些差异,但是它们的基本概念和用法是相似的。下面是将JavaScript正则表达式转换为Java正则表达式的一些常见规则: 1. 语法差异: - JavaScript正则表达式使用斜杠(/)作为定界符,而Java正则表达式使用双引号(")作为定界符。 - JavaScript正则表达式中的特殊字符需要进行转义,而Java正则表达式中的特殊字符不需要转义。 2. 字符类: - JavaScript正则表达式中的字符类使用方括号([])表示,而Java正则表达式中使用方括号([])或者Unicode转义(\p{...})表示。 - JavaScript正则表达式中的字符类可以使用连字符(-)表示范围,而Java正则表达式中需要使用Unicode转义(\uXXXX)表示范围。 3. 量词: - JavaScript正则表达式中的量词使用花括号({})表示,而Java正则表达式中使用花括号({})或者问号(?)表示。 - JavaScript正则表达式中的贪婪量词默认是贪婪模式,而Java正则表达式中的贪婪量词需要在后面添加问号(?)来表示非贪婪模式。 4. 边界匹配: - JavaScript正则表达式中的边界匹配使用插入符号(^)和美元符号($)表示,而Java正则表达式中使用\A和\Z表示。 5. 其他差异: - JavaScript正则表达式中的捕获组使用圆括号(())表示,而Java正则表达式中使用圆括号(())或者方括号([])表示。 - JavaScript正则表达式中的反向引用使用反斜杠加数字(\1、\2等)表示,而Java正则表达式中使用美元符号加数字($1、$2等)表示。 以上是一些常见的JavaScript正则表达式转换为Java正则表达式的规则。具体转换时,还需要根据具体的正则表达式进行适当的调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值