分组 什么是分组正则支持将多个元字符组成一个整体,用于复用,这样的一个整体被成为分组。 分组在正则表达式中的表现方式是括号 ()。被括号括起来的部分“子表达式”会被保存成一个子组。 分组和编号那分组和编号的规则是怎样的呢?其实很简单,用一句话来说就是,第几个括号就是第几个分组。这么说可能不好理解,举一个例子看一下。 这里有个时间格式 2020-05-10 20:23:05。假设我们想要使用正则提取出里面 2022-12-16 程序开发 #运维/正则表达式
元字符 什么是正则表达式中的元字符正则表达式中的元字符就是指那些在正则表达式中具有特殊意义的专用字符,元字符是构成正则表达式的基本元件。正则就是由一系列的元字符组成的。 但正因为元字符很基础,又比较多,很多人看见正则就头疼,其实可以将正则中的元字符进行分类,方便理解并且巧妙的记忆、使用元字符。 首先,可以把元字符大致分为几大类: 表示单个特殊字符的 表示空白符的 表示某个范围的 表示次数的量词 表示断言 2022-12-16 程序开发 #运维/正则表达式
正则是什么,能做什么? 正则表达式是什么?正则表达式,英文是 Regular Expression,简称 RE。顾名思义,正则其实就是一种描述文本内容组成规律的表示方式。 在编程语言中,正则常常用来简化文本处理的逻辑。在 Linux 命令中,它也可以帮助我们轻松地查找或编辑文件的内容,甚至实现整个文件夹中所有文件的内容替换,比如 grep、egrep、sed、awk、vim 等。另外,在各种文本编辑器中,比如 Atom, 2022-12-16 程序开发 #运维/正则表达式
Redis 的切片集群 单台 Redis 实例存在的问题在业务量上升时,单机程序通常面临着随着访问量上升,并发性能存在着瓶颈。数据库如此、中间件也是如此,但为了应对业务的增长而带来的访问量,保护组件在高并发环境下能够顶住流量的压力不崩溃、响应速度不变慢,通常有 2 种方案:纵向扩展和横向扩展。这里只针对 Redis: 纵向扩展:升级单个 Redis 实例的资源配置,包括增加内存容量、增加磁盘容量、使用更高配置的 CPU 2022-12-14 程序开发 #数据库/Redis
Go实现并发安全字典 KV 内存数据库的核心是并发安全的哈希表,常见的设计有几种: sync.map: golang 官方提供的并发哈希表, 适合读多写少的场景。但是在 m.dirty 刚被提升后会将 m.read 复制到新的 m.dirty 中,在数据量较大的情况下复制操作会阻塞所有协程,存在较大的隐患。关于 sync.map 的详细讨论推荐阅读鸟窝:sync.Map揭秘 juc.ConcurrentHashMa 2022-12-13 Go
Go实现简单时间轮 简单时间轮该时间轮是由切片外加链表实现 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949 2022-12-13 Go
Go实现链表 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210 2022-12-13 Go
goroutine协程 #go goroutine协程Go 语言支持并发,我们只需要通过 go 关键字来开启 goroutine 即可。 虽然,线程池为逻辑编写者提供了线程分配的抽象机制。但是,如果面对随时随地可能发生的并发和线程处理需求,线程池就不是非常直观和方便了。能否有一种机制:使用者分配足够多的任务,系统能自动帮助使用者把任务分配到 CPU 上,让这些任务尽量并发运作。这种机制在 Go语言中被称为 gorouti 2022-12-01 Go
日期与时间 #go 日期与时间实际开发中,经常会遇到日期和时间相关的操作,比如:格式化日期和时间,解析一个日期时间字符串等。Go 语言通过标准库 time 包处理日期和时间相关的问题。 主要类型time 包提供了时间的显示和计量用的功能。日历的计算采用的是公历。提供的主要类型如下: Location代表一个地区,并表示该地区所在的时区(可能多个)。Location 通常代表地理位置的偏移,比如 CEST 和 2022-12-01 Go