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] 正则表达式 示例相关推荐

  1. python用正则表达式提取中文_python3.x提取中文的正则表达式示例代码

    python3.x提取中文的正则表达式示例代码 发布时间:2020-09-29 06:26:16 来源:脚本之家 阅读:118 作者:mrr 实例一: 读取txt文件中含有中文的字符 import r ...

  2. Linux Grep 正则表达式示例

    转载自:Linux Grep 正则表达式示例 grep 是 Linux 中用于文本处理的最有用和功能最强大的命令之一.在本文中,我们将探讨如何在 grep 的 GNU 版本中使用正则表达式的基础,该版 ...

  3. java 输出字符集合里的字_Java基础 -- 字符串(格式化输出、正则表达式)(示例代码)...

    一 字符串 1.不可变String String对象是不可变的,查看JDK文档你就会发现,String类中每一个看起来会修改String值的方法,实际上都是创建一个全新的String对象,以包含修改后 ...

  4. 爪哇国新游记之三十----十九个正则表达式示例

    1.重复次数匹配 代码: String[] dataArr = { "moon", "mon", "moon", "mono&qu ...

  5. java 正则 实例_Java正则表达式示例

    正则表达式定义链接: 应用实例: 统计一个Java字符串中的单词数量 public class Nn { public static void main(String[] args) { String ...

  6. java正则表达式用法示例_Java正则表达式教程及示例

    java正则表达式用法示例 当我开始使用Java时,正则表达式对我来说是一场噩梦. 本教程旨在帮助您掌握Java正则表达式,并让我定期返回以刷新我的正则表达式学习. 什么是正则表达式? 正则表达式定义 ...

  7. Java中的正则表达式 - Java Regex示例

    Java中的正则表达式 - Java Regex示例 欢迎使用Java中的正则表达式.它在Java中也称为Regex.当我开始编程时,java正则表达式对我来说是一场噩梦.本教程旨在帮助您掌握Java ...

  8. c语言正则表达式函数与示例

    C语言正则表达式概述 C语言中处理正则表达式的函数有regcomp().regexec().regfree()和regerror()等. regcomp()函数 编译正则表达式. int regcom ...

  9. re模块与正则表达式

    正则表达式 简介 正则表达式(英语:Regular Expression,在代码中常简写为regex.regexp或RE),又称正规表示式.正规表示法.正规表达式.规则表达式.常规表示法,是计算机科学 ...

最新文章

  1. Javascript闭包,比较好懂的一篇文章
  2. Java---Socket编程UDP/TCP
  3. leetcode算法题--最长公共前缀
  4. JavaWeb总结(四)—JSP深入解析
  5. Python3之paramiko模块
  6. 广州电子厂房净化工程_简述设计电子车间净化工程的注意要点
  7. 服务器系统巡检记录表,服务器月度巡检记录
  8. linux怎样扩容目录,Linux系统下对目录扩容的方法介绍
  9. java第一季_Java入门第一季
  10. 使用spring cache和ehcache之前必须了解的
  11. 1.阿里云短信验证操作步骤
  12. Oracle基础 10 表 table
  13. 6种 分布式限流方案,我替你整理好了
  14. 手机微信和QQ接收到的文件路径
  15. button和submit的区别
  16. matlab中imag什么意思,Matlab基本函数-imag函数
  17. 《数字逻辑与计算机设计基础》
  18. win7不能在本地计算机启动防火墙,win7操作中心无法启用防火墙怎么解决
  19. Grbl v1.1版本的编译方法
  20. 这几年各种新零售模式层出不穷

热门文章

  1. Linux下搭建yum服务器
  2. PCV相关指标控制要求
  3. pom添加依赖后不报错但是代码依然缺少依赖
  4. kibana7.10.1基本操作(饼图+直方图)
  5. xfce4终端的字体颜色修改
  6. [ERROR] bower xxx解决方案
  7. 为什么spark没有java的交互模式?
  8. zeppelin报错master is set as yarn, but spark.submit.deployMode is not specified
  9. mysql8 grant语法失效
  10. Exception in thread main java.lang.NullPointerException一例解决