正则表达式的语法

简介: 正则表达式的语法

正则表达式语法简介


正则表达式是独立于任何语言的,虽然不同的语言中其语法略有不同。


正则表达式的语法可以分为

• 特殊字符

• 边界匹配符

• 逻辑操作符

• 量词等


这些基本的语法规则合成使用,共同构成了正则表达式强大的表示和匹配功能


一般字符的语法在前一节已经介绍过(例如字符i)


特殊字符的表达

image.png

例如,如果我们要查找一个字符串,这个字符串中至少包含两行(两行可以不相邻),前面

一行中存在两个制表符,它们中间仅仅隔一数字,后面一行中至少有一个制表符,则正则表

达式可以这样写:

• String regexString = “.\t\d\t.\n.\t.”(其中的.表示任意多个非换行字符)


• 注意:正则表达式原文是“.\t\d\t.\n.\t.*” ,双反斜杠中前一反斜杠是Java对反斜杠的转义。


边界匹配符

image.png

例如,如果我们要判断一个完整文本中是否存在完整的一行"This is a complete line",且行中没有其它任何字符,则可以如下的正则表达式:

• String regexString = “^This is a complete line$”


• 其中的 ^ 和 $ 界定了行的起始和终止,中间的信息必须完整匹配才可以。


逻辑操作符

image.png

例如,假设十六进制的表示字符是由数字和A-F这6个大写字母构成。我们知道一个字节可以用 2位的16进制表示,下面这个正则表达式要判断一个字节转换成十六进制之后的表示是不是正确:

• String regexString = “[0-9A-F][0-9A-F]”


字符串“ AE”, “30”, “6G”, “7E0”, “0A”匹配这个模式的结果分别是:T, T, F, F, T。其实这个需求还有更简单的实现方法,我们将在量词中介绍。


量词


量词 描述了一个模式怎样吸收输入的文本:

  • 贪婪型:量词是贪婪的,除非有别的设定。否则,贪婪型模式就要尽可能地发现更多的匹配。
  • 勉强型:用问号指定。这个量词需要满足匹配的最少字符数。
  • 占有型:目前,只有Java语言可用,属于Java特殊语法,主要用途是防止失配时回溯。在简单的正则表达式中很少使用。

image.png

例如,判断一个字节的十六进制表示是否正确可以用下面的正则表达式:

• String regexString = “[0-9A-F]{2}”


判断一个字符串表示的数值是不是一个(0, 1亿)之间的整数,可用:

• String regexString = “[1-9]//d{0,7}”


目录
相关文章
|
6月前
|
机器学习/深度学习 存储 JavaScript
正则表达式基础语法与Java、JS使用实例
正则表达式基础语法与Java、JS使用实例
102 1
|
5月前
|
自然语言处理 JavaScript 前端开发
Python高级语法与正则表达式(二)
正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。
|
5月前
|
安全 算法 Python
Python高级语法与正则表达式(一)
Python提供了 with 语句的写法,既简单又安全。 文件操作的时候使用with语句可以自动调用关闭文件操作,即使出现异常也会自动关闭文件操作。
|
存储 索引 Python
【100天精通python】Day23:正则表达式,基本语法与re模块详解示例
【100天精通python】Day23:正则表达式,基本语法与re模块详解示例
105 0
|
6月前
正则表达式语法讲解
正则表达式语法讲解
54 0
Python正则表达式语法快速入门
正则表达式需要与相关函数共同使用,对函数的学习可以参考: Python正则表达式所有函数详解
|
前端开发
前端知识案例86-javascript基础语法-正则表达式
前端知识案例86-javascript基础语法-正则表达式
65 0
前端知识案例86-javascript基础语法-正则表达式
|
前端开发
前端知识案例92-javascript基础语法-常见正则表达式
前端知识案例92-javascript基础语法-常见正则表达式
73 0
前端知识案例92-javascript基础语法-常见正则表达式
|
JavaScript
js基础笔记学习202正则表达式语法3量词
js基础笔记学习202正则表达式语法3量词
71 0
js基础笔记学习202正则表达式语法3量词
|
JavaScript
js基础笔记学习200正则表达式语法1
js基础笔记学习200正则表达式语法1
73 0
js基础笔记学习200正则表达式语法1