[Go] 正则表达式 示例
package mainimport "bytes" import "fmt" import "regexp"func main() {// 1. 这个测试一个字符串是否符合一个表达式。match, _ := regexp.MatchString("p([a-z]+)ch", "peach")fmt.Println("1.", match)// 上面我们是直接使用字符串,但是对于一些其他的正则任务,你需要使用 Compile 一个优化的 Regexp 结构体。r, _ := regexp.Compile("p([a-z]+)ch")// 2. 这个结构体有很多方法,这里是类似我们前面看到的一个匹配测试。fmt.Println("2.", r.MatchString("peach"))// 3. 这是查找匹配字符串的。fmt.Println("3.", r.FindString("peach punch"))// 4. 这个也是查找第一次匹配的字符串的,但是返回的匹配开始和结束位置索引,而不是匹配的内容。fmt.Println("4.", r.FindStringIndex("peach punch"))// 5. Submatch 返回 完全匹配 和 局部匹配 的字符串。例如,这里会返回 p([a-z]+)ch 和 ([a-z]+) 的信息。fmt.Println("5.", r.FindStringSubmatch("peach punch"))// 6. 类似的,这个会返回 完全匹配 和 局部匹配 的索引位置。fmt.Println("6.", r.FindStringSubmatchIndex("peach punch"))// 7. 带 All 的这个函数返回所有的匹配项,而不仅仅是首次匹配项。例如查找匹配表达式的所有项。fmt.Println("7.", r.FindAllString("peach punch pinch", -1))// 8. All 同样可以对应到上面的所有函数。fmt.Println("8.", r.FindAllStringSubmatchIndex("peach punch pinch", -1))// 9. 这个函数提供一个正整数来限制匹配次数。fmt.Println("9.", r.FindAllString("peach punch pinch", 2))// 10. 上面的例子中,我们使用了字符串作为参数,并使用了如 MatchString 这样的方法。我们也可以提供 []byte参数并将 String 从函数命中去掉。fmt.Println("10.", r.Match([]byte("peach")))// 11. 创建正则表示式常量时,可以使用 Compile 的变体MustCompile 。因为 Compile 返回两个值,不能用语常量。r = regexp.MustCompile("p([a-z]+)ch")fmt.Println("11.", r)// 12. regexp 包也可以用来替换部分字符串为其他值。fmt.Println("12.", r.ReplaceAllString("a peach", "<fruit>"))// 13. Func 变量允许传递匹配内容到一个给定的函数中,in := []byte("a peach")out := r.ReplaceAllFunc(in, bytes.ToUpper)fmt.Println("13.", string(out)) }
输出:
1. true 2. true 3. peach 4. [0 5] 5. [peach ea] 6. [0 5 1 3] 7. [peach punch pinch] 8. [[0 5 1 3] [6 11 7 9] [12 17 13 15]] 9. [peach punch] 10. true 11. p([a-z]+)ch 12. a <fruit> 13. a PEACH
官方教程:http://studygolang.com/static/pkgdoc/pkg/regexp.htm
转载于:https://www.cnblogs.com/52php/p/7019314.html
[Go] 正则表达式 示例相关推荐
- python用正则表达式提取中文_python3.x提取中文的正则表达式示例代码
python3.x提取中文的正则表达式示例代码 发布时间:2020-09-29 06:26:16 来源:脚本之家 阅读:118 作者:mrr 实例一: 读取txt文件中含有中文的字符 import r ...
- Linux Grep 正则表达式示例
转载自:Linux Grep 正则表达式示例 grep 是 Linux 中用于文本处理的最有用和功能最强大的命令之一.在本文中,我们将探讨如何在 grep 的 GNU 版本中使用正则表达式的基础,该版 ...
- java 输出字符集合里的字_Java基础 -- 字符串(格式化输出、正则表达式)(示例代码)...
一 字符串 1.不可变String String对象是不可变的,查看JDK文档你就会发现,String类中每一个看起来会修改String值的方法,实际上都是创建一个全新的String对象,以包含修改后 ...
- 爪哇国新游记之三十----十九个正则表达式示例
1.重复次数匹配 代码: String[] dataArr = { "moon", "mon", "moon", "mono&qu ...
- java 正则 实例_Java正则表达式示例
正则表达式定义链接: 应用实例: 统计一个Java字符串中的单词数量 public class Nn { public static void main(String[] args) { String ...
- java正则表达式用法示例_Java正则表达式教程及示例
java正则表达式用法示例 当我开始使用Java时,正则表达式对我来说是一场噩梦. 本教程旨在帮助您掌握Java正则表达式,并让我定期返回以刷新我的正则表达式学习. 什么是正则表达式? 正则表达式定义 ...
- Java中的正则表达式 - Java Regex示例
Java中的正则表达式 - Java Regex示例 欢迎使用Java中的正则表达式.它在Java中也称为Regex.当我开始编程时,java正则表达式对我来说是一场噩梦.本教程旨在帮助您掌握Java ...
- c语言正则表达式函数与示例
C语言正则表达式概述 C语言中处理正则表达式的函数有regcomp().regexec().regfree()和regerror()等. regcomp()函数 编译正则表达式. int regcom ...
- re模块与正则表达式
正则表达式 简介 正则表达式(英语:Regular Expression,在代码中常简写为regex.regexp或RE),又称正规表示式.正规表示法.正规表达式.规则表达式.常规表示法,是计算机科学 ...
最新文章
- Javascript闭包,比较好懂的一篇文章
- Java---Socket编程UDP/TCP
- leetcode算法题--最长公共前缀
- JavaWeb总结(四)—JSP深入解析
- Python3之paramiko模块
- 广州电子厂房净化工程_简述设计电子车间净化工程的注意要点
- 服务器系统巡检记录表,服务器月度巡检记录
- linux怎样扩容目录,Linux系统下对目录扩容的方法介绍
- java第一季_Java入门第一季
- 使用spring cache和ehcache之前必须了解的
- 1.阿里云短信验证操作步骤
- Oracle基础 10 表 table
- 6种 分布式限流方案,我替你整理好了
- 手机微信和QQ接收到的文件路径
- button和submit的区别
- matlab中imag什么意思,Matlab基本函数-imag函数
- 《数字逻辑与计算机设计基础》
- win7不能在本地计算机启动防火墙,win7操作中心无法启用防火墙怎么解决
- Grbl v1.1版本的编译方法
- 这几年各种新零售模式层出不穷
热门文章
- Linux下搭建yum服务器
- PCV相关指标控制要求
- pom添加依赖后不报错但是代码依然缺少依赖
- kibana7.10.1基本操作(饼图+直方图)
- xfce4终端的字体颜色修改
- [ERROR] bower xxx解决方案
- 为什么spark没有java的交互模式?
- zeppelin报错master is set as yarn, but spark.submit.deployMode is not specified
- mysql8 grant语法失效
- Exception in thread main java.lang.NullPointerException一例解决