小白学正则表达式之 regexp
1. 正则表达式介绍
正则表达式是程序文本处理常用的模板模式,按照解析正则表达式的引擎可将正则表达式分为 POSIX 基础正则表达式(Basic regular expression,BRE) 引擎和 POSIX 扩展正则表达式(extended regular expression,ERE) 引擎。
2. BRE 引擎
2.1 纯文本匹配和特殊字符
正则表达式中特殊字符转换为文本需要加反斜杠 \。
2.2 锚字符
锚字符可以锁定数据流的行首和行尾。其中,脱字符 ^ 锁定行首,美元符 $ 锁定行尾。
2.3 点号字符
点号字符匹配数据流中的任意单个字符。
2.4 字符组
字符组使用 [ ] 表示,匹配文本模式中某个位置的一组字符。如 [Yy] 匹配数据流中包含 Y 或 y 的任意单个字符。
2.4.1 区间
区间使用 - 表示,如 [a-z] 匹配数据流中包括从 a 到 z 之间任意单个字符。
2.4.2 排除型字符组
排除型字符组在字符前加脱字符用于排除匹配的字符组。如 [^a-z] 匹配不属于 a 到 z 之间的数据流。
2.5 星号
在字符/字符组后加星号,表示该字符可出现 0 次或多次。如 [a-z]*表明数据流中 a 到 z 的字符可出现 0 次到多次。
3. ERE 引擎
3.1 问号
问号类似于星号,表示字符可出现 0 次或 1 次。
4. Go 正则表达式 regexp 包
4.1 MatchString
//MatchString reports whether the string s contains any match of the regular expression pattern. More complicated queries need
//to use Compile and the full Regexp interface.
func MatchString(pattern string, s string) (matched bool, err error)
4.2 MustCompile
//MustCompile is like Compile but panics if the expression cannot be parsed. It simplifies safe initialization of global
//variables holding compiled regular expressions.
func MustCompile(str string) *Regexp
4.3 FindString
func (re *Regexp) FindString(s string) string
example:
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile(`foo.?`)
fmt.Printf("%q\n", re.FindString("seafood fool"))
fmt.Printf("%q\n", re.FindString("meat"))
}
结合 MustCompile 和 FindString 的示例:
status := regexp.MustCompile(string(ProcessRegexPattern)).FindString(string(status))
小白学正则表达式之 regexp的更多相关文章
- 小白学 Python 爬虫(9):爬虫基础
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- 小白学 Python 爬虫(22):解析库 Beautiful Soup(下)
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- 小白学 Python 爬虫(35):爬虫框架 Scrapy 入门基础(三) Selector 选择器
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- 第十四章 web前端开发小白学爬虫
老猿从事IT开发快三十年了,接触互联网也很久了,但自己没有做过web前端开发,只知道与前端开发相关的一些基本概念,如B/S架构.html标签.js脚本.css样式.xml解析.cookies.http ...
- 小白学Docker之Compose
承接上篇文章:小白学Docker之基础篇,自学网站来源于https://docs.docker.com/get-started 概念 Compose是一个编排和运行多容器Docker应用的工具,主要是 ...
- 小白学Docker之Swarm
承接上篇文章:小白学Docker之Compose,自学网站来源于https://docs.docker.com/get-started 系列文章: 小白学Docker之基础篇 小白学Docker之Co ...
- 小白学Docker之基础篇
系列文章: 小白学Docker之基础篇 小白学Docker之Compose 小白学Docker之Swarm PS: 以下是个人作为新手小白学习docker的笔记总结 1. docker是什么 百科上的 ...
- 小白学react之网页获取微信用户信息
通过上一篇<小白学react之EJS模版实战>我们学习了怎样通过EJS模版生成我们高定制化的index.html文件. 本篇我们将会继续延续我们的alt-tutorial项目的实战计划.去 ...
- 【JVM从小白学成大佬】3.深入解析强引用、软引用、弱引用、幻象引用
关于强引用.软引用.弱引用.幻象引用的区别,在很多公司的面试题中经常出现,可能有些小伙伴觉得这个知识点比较冷门,但其实大家在开发中经常用到,如new一个对象的时候就是强引用的应用. 在java语言中, ...
- 【JVM从小白学成大佬】6.创建对象及对象的访问定位
<JVM从小白学成大佬>系列推出到现在,收到了很多小伙伴的好评,也收到了一些小伙伴的建议,在此表示感谢. 有几个小伙伴提出了希望出一篇介绍对象的创建及访问,猿人谷向来是没有原则的,小伙们要 ...
随机推荐
- 华企盾DSC 恢复密钥需要提供信息
1.win.ini 2.5097目录复制一份 3.c:\windows\system32\autheninfoset.cfg (64位系统:c:\windows\syswow64\autheninfo ...
- 试试这 6 个小技巧,提升 EF Core 性能
Entity FrameWork(简称 EF)以面向对象的方式操作数据库给开发人员带来了很大的便利性,但其性能问题从面世以来就一直就被广大的 .NET 生态开发技术人员所吐槽,然而,它真的那么不堪使用 ...
- 文心一言 VS 讯飞星火 VS chatgpt (168)-- 算法导论13.2 1题
一.用go语言,写出 RIGHT-ROTATE 的伪代码. 文心一言: 在计算机科学中,右旋转(RIGHT-ROTATE)是一种常见的操作,通常用于数组或链表.以下是一个使用Go语言实现右旋转的伪代码 ...
- 建议收藏备查!MySQL 常见错误代码说明
先给大家看几个实例的错误分析与解决方案. 1.ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data ...
- STM32CubeMX教程12 DMA 直接内存读取
使用STM32CubeMX软件配置STM32F407开发板上串口USART1进行DMA传输数据,然后实现与实验"STM32CubeMX教程9 USART/UART 异步通信"相同的 ...
- spring-mvc 系列:域对象共享数据
目录 一.使用ServletAPI向request域对象共享数据 二.使用ModelAndView向request域对象共享数据 三.使用Model向request域对象共享数据 四.使用Map向re ...
- 深入浅出Sqoop之迁移过程源码分析
[摘要]Sqoop是一种用于在Apache Hadoop和结构化数据存储(如关系数据库)之间高效传输批量数据的工具 .本文将简单介绍Sqoop作业执行时相关的类及方法,并将该过程与MapReduce的 ...
- 物联网设备上云难?华为云IoT帮你一键完成模型定义,快速在线调试设备
摘要:在不到3分钟的操作里,不仅完成了一款智慧烟感设备在云端的模型定义,还通过在线调试了解到了设备和远端通信的过程. 本文分享自华为云社区<物联网设备上云难?华为云IoT帮你一键完成模型定义,快 ...
- 华为云GaussDB(for openGauss)推出重磅内核新特性
摘要:华为云新一代金融级分布式数据库GaussDB(for openGauss)正式推出了Ustore存储引擎.基于Paxos协议的DCF高可用组件等多个重大内核新特性. 数字化时代,技术迭代更新比以 ...
- 云小课 | DSC:快速识别敏感数据并脱敏
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要: 华为云数据安全中 ...