豆播客

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 139|回复: 0

正则表达式理解

[复制链接]

12

主题

12

帖子

104

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
104
发表于 2021-2-18 19:10:41 | 显示全部楼层 |阅读模式
[] 带有部分意义上的转义 例如 [1-9]

?的其他更多用法
?!代表没有、不是 ?=代表是、有
实例:
  1. test123test123 表达式:test(?=123)
复制代码
意思为匹配后面是123的test,?=表示后面有,如果把?=放在前面就会报错
  1. 123test123test123 表达式:(?<=123)test
复制代码
?<=表示寻找前面有123的test
另外有两个?!表示后面没有,?<!表示前面没有 但这两个我在notepad++中无法正常使用
好吧可能是notepad++的问题
  1. 123test123test123testtest 表达式:(?<!123)test
复制代码
表示是寻找前面不是123的test
  1. 123test123test123testtest 表达式:test(?!123)
复制代码
表示是寻找后面不是123的test

忽略大小写与全局搜索

/i表示为忽略大小写,/g表示为在全局搜索,输出所有查询到的结果,最后可能会输出为数组(没尝试过...)
  1. The test the test 表达式:/The/gi
复制代码

/The/gi表示为全局搜索The并且忽略大小写

贪婪匹配与惰性匹配

  1. The test the test
复制代码
使用表达式:.*test 会将整段字串符匹配,此为贪婪匹配,正则表达式默认使用为贪婪匹配,而使用.*?test 则只会匹配到The test ,而不是整段,此为惰性匹配,惰性匹配只会匹配到改正则中第一个匹配到的字串符为止





签名请不要带有违规信息
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|BeanBBS

GMT+8, 2021-4-21 01:42 , Processed in 0.042311 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表