博客
关于我
正则表达式
阅读量:516 次
发布时间:2019-03-08

本文共 986 字,大约阅读时间需要 3 分钟。

正则表达式

通常用于判断语句中,用来检查某一字符串是否满足某一格式

正则表达式是由普通字符与元字符组成。普通字符包括大小写字母、数字、标点符号及一些其他符号。元字符则是正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式。

基础正则表达式

基础正则表达式中的元字符对各工具支持有所不同,主要包括以下几个:

  • \:转义字符,用于取消特殊符号的含义,例:\!\n\$
  • ^:匹配字符串开始的位置,例:^a^the^#^[a-z]
  • $:匹配字符串结束的位置,例:word$^$(匹配空行)
  • .:匹配除\n之外的任意一个字符,例:go.dg..d
  • *:匹配前面子表达式0次或者多次,例:goo*dgo.*d
  • []:匹配列表中的一个字符,例:[abc][a-z][a-z0-9][0-9]
  • [list]:匹配任意一位数字,例:[^0-9][^A-Z0-9][^a-z]
  • \{n\}:匹配前面的子表达式n次,例:go\{2\}d'[0-9]\{2\}'
  • \{n,\}:匹配前面的子表达式不少于n次,例:go\{2,\}d'[0-9]\{2,\}'
  • \{n,m\}:匹配前面的子表达式介于n到m次之间,例:go\{2,3\}d'[0-9]\{2,3\}'

扩展正则表达式

在一些支持更高级功能的工具中,正则表达式还引入了以下元字符:

  • +:匹配前面子表达式1次以上,例:go+d,将匹配至少一个o,如goodgoodGoodman
  • ?:匹配前面子表达式0次或者1次,例:go?d,将匹配gdgod
  • ():将括号中的字符串作为一个整体,例1:g(oo)+d,将匹配oo整体1次以上,如goodgooood
  • |:以或的方式匹配字条串,例:g(oo|la)d,将匹配good或者glad

匹配手机号

手机号匹配是一个常见的应用场景,可以通过正则表达式实现。根据不同国家的规则,匹配手机号的正则表达式可能略有不同。以下是一个通用的手机号匹配正则表达式示例:

\b\+?\d{7,8}\b

这个正则表达式表示:

  • \b:词边标记,用于匹配整个词
  • +?: 电话号码开头可选+符号
  • \d{7,8}:匹配7到8位数字
  • \b:电话号码结尾

这个表达式适用于国际电话号码格式,但实际应用中可以根据具体需求进行调整。

转载地址:http://ynonz.baihongyu.com/

你可能感兴趣的文章
Nitrux 3.8 发布!性能全面提升,带来非凡体验
查看>>
NI笔试——大数加法
查看>>
NLog 自定义字段 写入 oracle
查看>>
NLog类库使用探索——详解配置
查看>>
NLP 基于kashgari和BERT实现中文命名实体识别(NER)
查看>>
NLP 项目:维基百科文章爬虫和分类【01】 - 语料库阅读器
查看>>
NLP_什么是统计语言模型_条件概率的链式法则_n元统计语言模型_马尔科夫链_数据稀疏(出现了词库中没有的词)_统计语言模型的平滑策略---人工智能工作笔记0035
查看>>
NLP学习笔记:使用 Python 进行NLTK
查看>>
NLP的神经网络训练的新模式
查看>>
NLP采用Bert进行简单文本情感分类
查看>>
NLP问答系统:使用 Deepset SQUAD 和 SQuAD v2 度量评估
查看>>
NLP:使用 SciKit Learn 的文本矢量化方法
查看>>
Nmap扫描教程之Nmap基础知识
查看>>
Nmap端口扫描工具Windows安装和命令大全(非常详细)零基础入门到精通,收藏这篇就够了
查看>>
NMAP网络扫描工具的安装与使用
查看>>
NMF(非负矩阵分解)
查看>>
nmon_x86_64_centos7工具如何使用
查看>>
NN&DL4.1 Deep L-layer neural network简介
查看>>
NN&DL4.3 Getting your matrix dimensions right
查看>>
NN&DL4.8 What does this have to do with the brain?
查看>>