正则表达式中限定符与定位符的使用
2022/3/29 23:56:45
本文主要是介绍正则表达式中限定符与定位符的使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录- 193. 有效电话号码
- 思路
- 代码
- 快速查看表
- 特殊字符表达
- 限定符表达
- 定位符表达
193. 有效电话号码
思路
使用正则表达式来检索符合要求的字符串。
需要找出固定的字符位置与可变字符的规律,然后用正则表达式中的普通字符、特殊字符、限定符、定位符来描述对应的规律。
使用正则表达式描述
1、表达(xxx) xxx-xxxx
^\([0-9][0-9][0-9]\) [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]$
优化:
^\([0-9]{3}\) [0-9]{3}-[0-9]{4}$
- \:转义符
- ^:限制开头
- $:限制结尾
- [0-9]:数字
- [0-9]{3} :表示三位数
2、表达 xxx-xxx-xxxx
^[0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]$
优化:
^[0-9]{3}-[0-9]{3}-[0-9]{4}$
3、同时表示xxx-xxx-xxxx和 (xxx) xxx-xxxx
^([0-9]{3}-|\([0-9]{3}\) )[0-9]{3}-[0-9]{4}$
- ():标记一个表达式
- |:指明两项之间的任意选择
代码
grep
grep -P '^([0-9]{3}-|\([0-9]{3}\) )[0-9]{3}-[0-9]{4}$' file.txt
- -P:可以让grep使用perl的正则表达式语法,因为perl的正则更加多元化,能实现更加复杂的场景
awk
awk '/^([0-9]{3}-|\([0-9]{3}\) )[0-9]{3}-[0-9]{4}$/' file.txt
- //纯字符匹配
gawk
gawk '/^([0-9]{3}-|\([0-9]{3}\) )[0-9]{3}-[0-9]{4}$/' file.txt
快速查看表
特殊字符表达
限定符表达
限定符前面字符的出现次数
限定符 | 表达含义 |
---|---|
* | 出现次数>=0 |
+ | 出现次数>=1 |
? | 出现次数 0 or 1, 等价{0,1} |
{n} | 出现次数=n |
{n,} | 出现次数>=n |
{n, m} | n=< 出现次数<= m |
定位符表达
定位符 | 表达含义 |
---|---|
^ | 字符串开始的位置 |
$ | 字符串结束的位置 |
\b | 限定单词(字)的字符,常用来确定一个单词,可以结合两个‘\b’使用 |
\B | 限定非单词(字)边界的字符,用的很少 |
这篇关于正则表达式中限定符与定位符的使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-11正则表达式学习:入门指南与实践技巧
- 2024-08-15正则表达式入门:基础教程与实践指南
- 2024-01-0939. 干货系列从零用Rust编写负载均衡及代理,正则及格式替换
- 2024-01-08如何编写高效的正则表达式?
- 2023-12-29"Matlab中的正则表达式:强大而灵活的工具"
- 2023-09-30这个正则 为啥同样的单号第二个就提取不出来?
- 2023-06-086.2 re 正则表达式
- 2023-06-06将字符串里的\x01,\x02这些替换掉用正则表达式无效?
- 2023-05-24正则表达式详解
- 2023-05-17我让gpt写了一段正则表达式代码,可是运行报错,可以帮忙看看哪里出了问题?