正则表达式及应用
- 格式:docx
- 大小:81.19 KB
- 文档页数:17
h3c include正则表达式摘要:1.引言2.h3c include 正则表达式的概念3.h3c include 正则表达式的语法4.h3c include 正则表达式的应用场景5.h3c include 正则表达式的实践示例6.总结正文:h3c include 正则表达式是网络设备配置中常用的一种文本处理工具,它可以用于匹配和替换文本内容,为网络工程师提供了极大的便利。
本文将详细介绍h3c include 正则表达式的概念、语法以及应用场景,并通过实践示例加深理解。
一、h3c include 正则表达式的概念h3c include 正则表达式,又称为h3c 配置模板,是华为网络设备(如H3C)中一种特殊的配置方式。
通过正则表达式,工程师可以快速地查找、替换或匹配设备配置文件中的特定内容,提高配置效率。
二、h3c include 正则表达式的语法h3c include 正则表达式的语法较为简单,主要包括两部分:关键字和正则表达式。
关键字包括“include”和“regexp”,其中“include”用于匹配文件内容,“regexp”用于进行正则表达式匹配。
正则表达式的语法与通用的正则表达式语法相同,如:```^start```表示以“start”开头的文本。
三、h3c include 正则表达式的应用场景h3c include 正则表达式广泛应用于网络设备的配置中,以下列举几个典型的应用场景:1.批量配置设备:通过编写一个包含正则表达式的模板文件,可以快速地将配置信息应用于多台设备,提高配置效率。
2.配置文件备份与恢复:利用正则表达式,可以将设备配置文件中的关键信息提取出来,便于备份和恢复。
3.配置文件审计:通过正则表达式,可以快速查找设备配置文件中的指定内容,便于审计和排查问题。
四、h3c include 正则表达式的实践示例假设我们需要在一个H3C 设备上配置多个VLAN,可以通过编写一个包含正则表达式的配置模板来简化配置过程。
正则表达式and的用法正则表达式中的and用法,是指在匹配规则中使用and符号(&)连接两个或多个子规则,这时候,只有当所有的子规则都匹配成功,才认为整个匹配成功。
实际上,and是一种逻辑运算符,它的原理类似于布尔代数中的“与”(AND)运算。
在正则表达式中,使用and可以将多个规则组合在一起,形成一个更加复杂的规则,以提高匹配的准确性和精度。
下面我们就来详细介绍and的用法。
1. and的语法在正则表达式中,使用and需要使用&符号连接两个规则。
例如,要匹配一个字符串同时包含“dog”和“cat”,可以使用如下规则:/(dog&cat)/这个规则表示,匹配包含“dog”和“cat”的字符串。
如果一个字符串中同时包含“dog”和“cat”,那么这个规则就匹配成功了。
也可以像下面这样使用and匹配多个规则:/([0-9]+)&([a-zA-Z]+)/这个规则表示,匹配由数字和字母组成的字符串。
其中,[0-9]+表示匹配一个或多个数字,[a-zA-Z]+表示匹配一个或多个字母。
&符号连接这两个子规则。
如果一个字符串同时包含数字和字母,那么这个规则就匹配成功了。
2. and的使用注意事项在使用and时,需要注意以下几点:(1)and连接的子规则必须全部匹配成功才算整个规则匹配成功。
(2)and连接的子规则顺序可以任意调整,但不会改变整个规则的匹配效果。
(3)and的优先级比or低,如果同时存在and和or,需要通过括号来明确优先级。
(4)and的语法在不同的正则表达式引擎中可能不同,需要根据具体情况进行调整。
3. and的实例应用下面,我们通过一些实例来介绍and的应用。
假设有一个字符串列表,包含了一些人的名字和年龄,字符串格式如下:“Tom,25”、“Lucy,30”、“Bob,20”现在,我们要从这个字符串列表中匹配出年龄在20~30岁之间的人的名字。
可以使用如下规则:/([a-zA-Z]+),([2-3][0-9]|20)/这个规则表示,匹配由一个或多个字母组成的字符串,后面跟着一个逗号和一个20~39之间的数字。
dlt viewer 正则表达式【原创实用版】目录1.DLT 文件格式简介2.正则表达式的概念与应用3.DLT 文件的正则表达式处理方法4.实际应用案例与技巧正文一、DLT 文件格式简介DLT(Data Logging and Trending)文件是一种用于数据记录和趋势分析的文本文件格式。
它主要应用于工业自动化与过程控制领域,用以存储实时数据、历史数据和趋势数据。
DLT 文件具有结构简单、易于解析的特点,因此被广泛使用。
二、正则表达式的概念与应用正则表达式(Regular Expression,简称 regex)是一种用于描述字符或字符串模式的强大工具。
它可以用来检查文本是否符合某种特定的模式,也可以用来在文本中查找、替换或分割符合特定模式的字符串。
正则表达式广泛应用于计算机科学和编程领域,例如文本编辑器、搜索引擎和数据处理等场景。
三、DLT 文件的正则表达式处理方法处理 DLT 文件中的正则表达式主要涉及到两个方面:一是如何在DLT 文件中编写正确的正则表达式,二是如何使用编程语言或工具对这些正则表达式进行处理。
1.编写正确的正则表达式要在 DLT 文件中编写正确的正则表达式,需要了解正则表达式的语法和规则。
常见的正则表达式元字符包括:.(匹配任意字符)、*(匹配零次或多次)、+(匹配一次或多次)、?(匹配零次或一次)、{n}(匹配 n 次)、{n,}(匹配 n 次或多次)、{n,m}(匹配 n 到 m 次)等。
结合实际需求,可以灵活运用这些元字符编写合适的正则表达式。
2.使用编程语言或工具处理正则表达式处理 DLT 文件中的正则表达式,可以使用各种编程语言(如 Python、Java、C++等)提供的正则表达式库,也可以使用专门的正则表达式工具(如 regexbuddy、regexr 等)。
具体方法因编程语言和工具的不同而有所差异,需要查阅相关文档和教程了解详细用法。
四、实际应用案例与技巧以下是一个简单的 DLT 文件正则表达式处理案例:假设有一个 DLT 文件,其内容如下:```Time;Value00:00:00;10.500:01:00;11.200:02:00;12.100:03:00;13.0```我们可以使用正则表达式提取文件中的时间戳和数值数据。
wps 公式正则表达式【实用版】目录1.WPS 公式概述2.正则表达式的概念与应用3.WPS 公式中的正则表达式使用4.实例解析正文一、WPS 公式概述WPS 公式是 WPS Office 中的一种功能强大的工具,用户可以利用它进行复杂的数据处理和分析。
WPS 公式支持众多数学函数,可以满足各种计算需求。
此外,WPS 公式还具备较强的自动化能力,可以实现数据的自动填充、自动计算等操作,极大地提高了工作效率。
二、正则表达式的概念与应用正则表达式(Regular Expression,简称 regex)是一种强大的文本处理工具,可以用来检查文本是否符合某种模式、提取文本中的特定信息等。
正则表达式广泛应用于各种编程语言和文本处理软件中,例如 Python、Java、JavaScript 等。
三、WPS 公式中的正则表达式使用在 WPS 公式中,用户可以通过插入“REGEX”函数来使用正则表达式。
REGEX 函数的格式为“REGEX(string, pattern)”,其中 string 表示要处理的文本,pattern 表示正则表达式模式。
REGEX 函数的返回值是符合pattern 模式的所有文本。
四、实例解析下面举一个例子来说明如何在 WPS 公式中使用正则表达式:假设有一个文本“电话号码:138****5678,邮箱:***************”,现在需要提取其中的电话号码和邮箱地址。
在 WPS 公式中,可以这样操作:1.提取电话号码:使用 REGEX 函数,pattern 设置为“d{11}”,即 11 位数字。
则公式为“REGEX(A1, "d{11}")”,其中 A1 表示要处理的文本区域。
计算结果为“138****5678”。
2.提取邮箱地址:使用 REGEX 函数,pattern 设置为“[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Z|a-z]{2,}”,即邮箱地址的正则表达式。
汉字、英文、数字、下划线、括号正则表达式1. 引言概述:本文将详细介绍汉字、英文、数字、下划线和括号正则表达式的基本知识和应用。
正则表达式是一种强大的文本模式匹配工具,可以有效地检索、替换和验证字符串。
通过学习各种类型的正则表达式,读者将能够在实际的编程和文本处理任务中更加灵活地使用它们。
文章结构:本文共分为五个部分,分别介绍汉字、英文、数字、下划线和括号的正则表达式。
每个部分都包含基础知识的介绍、匹配方法的讲解以及实例与案例分析,以帮助读者更加深入地理解和应用这些正则表达式。
目的:通过阅读本文,读者将了解如何使用正则表达式来针对不同类型的字符进行匹配,并能够根据自己的需求设计相应的模式。
同时,读者还将通过实例与案例分析掌握如何在实际问题中应用不同类型的正则表达式,提高编程效率。
接下来,在第二部分“2. 汉字正则表达式”中,我们将深入探讨汉字正则表达式的基本介绍、匹配方法以及示例与应用。
2. 汉字正则表达式2.1 基本介绍汉字是中文的基本字符,它们在许多应用和场景中都是必不可少的。
为了有效地处理和匹配汉字,我们可以使用正则表达式。
2.2 匹配方法在正则表达式中,我们可以使用一些特殊的字符来匹配汉字。
以下是一些常用的匹配规则:- [\u4e00-\u9fa5]:这个匹配规则可以用于匹配所有的汉字。
它使用了Unicode 编码范围来表示汉字的范围,从\u4e00到\u9fa5。
- [一-龥]:这个匹配规则也可以用于匹配所有的汉字。
它使用了Unicode编码点来表示汉字的范围,从一到龥。
具体来说,这些规则可以用在正则表达式的字符集合([...])中作为一个选项。
例如,要查找一个字符串中是否包含任意一个汉字,我们可以使用类似于/[一-龥]/的正则表达式模式来实现。
2.3 示例与应用下面是一些示例和应用场景,展示了如何使用汉字正则表达式进行匹配:- 验证汉字:如果你想验证一个字符串是否只包含汉字,并且没有其他字符,可以使用/^[一-龥]+$/的正则表达式。
正则表达式匹配中文段落正则表达式是一种强大的文本匹配工具,它可以帮助我们快速准确地筛选和处理中文段落。
在本文中,我将介绍如何使用正则表达式来实现中文段落的匹配。
首先,我们需要明确正则表达式的概念和用法。
正则表达式是一种用来匹配文本字符串的模式。
它由各种字符和操作符组成,通过特定规则进行匹配和筛选。
在中文段落匹配中,我们可以利用正则表达式来实现精确的匹配和提取。
下面,我给大家介绍几个常用的正则表达式符号和操作符:1. \w:表示匹配一个字母、数字或下划线;2. \d:表示匹配一个数字;3. [abc]:表示匹配字符a、b、c中的任意一个;4. [^abc]:表示匹配除了字符a、b、c之外的任意字符;5. *:表示匹配零个或多个前面的字符;6. +:表示匹配一个或多个前面的字符;7. ?:表示匹配零个或一个前面的字符;8. {m,n}:表示匹配前面的字符至少m次,至多n次;9. |:表示匹配两个或多个表达式中的任意一个;10. ():用于分组,将多个字符作为一个整体进行处理。
利用上述符号和操作符,我们可以构建出各种复杂的正则表达式来实现中文段落的匹配和提取。
接下来,我将给出一些例子,以帮助大家更好地理解和掌握正则表达式的应用。
1. 匹配中文句子:如果我们想要匹配一段中文文本中的句子,可以使用以下正则表达式:[\u4e00-\u9fa5]+[。
!?]上述正则表达式表示匹配至少一个中文字符,后面紧跟着一个句号、感叹号或问号。
通过这样的正则表达式,我们可以准确地提取出中文段落中的句子。
2. 匹配中文关键词:如果我们想要找到一段中文文本中的关键词,可以使用以下正则表达式:(?:[^\u4e00-\u9fa5]|^)(关键词)(?:[^\u4e00-\u9fa5]|$)上述正则表达式表示先匹配一段中文文本中的非中文字符或开头,然后匹配关键词,最后匹配非中文字符或结尾。
通过这样的正则表达式,我们可以准确地找到中文段落中的关键词,并且不受其他字符的干扰。
jinja2 正则表达式Jinja2正则表达式简介Jinja2是Python中一种流行的模板引擎,广泛应用于Web开发中。
正则表达式是Jinja2中的重要组成部分,用于处理文本匹配和替换。
本文将介绍Jinja2正则表达式的基本语法和常见用法。
一、Jinja2正则表达式基础1. 正则表达式的定义正则表达式是一种用于匹配和处理文本的强大工具,通过一系列字符和特殊符号的组合,可以用来检查字符串是否符合某种模式。
2. 正则表达式的语法Jinja2正则表达式的语法与Python的re模块相似,常用的语法元字符包括:- .: 匹配任意字符- ^: 匹配字符串的开头- $: 匹配字符串的结尾- *: 匹配前一个字符0次或多次- +: 匹配前一个字符1次或多次- ?: 匹配前一个字符0次或1次- {n}: 匹配前一个字符恰好n次- {n,}: 匹配前一个字符至少n次- {n,m}: 匹配前一个字符至少n次,最多m次- []: 匹配方括号内的任意一个字符- (): 分组匹配,可用于提取子串- |: 或运算,匹配多个模式中的任意一个二、Jinja2正则表达式的应用1. 字符串匹配可以使用Jinja2正则表达式进行字符串匹配,判断一个字符串是否符合某种模式。
例如,判断一个字符串是否为合法的邮箱地址:```python{% if email is match('[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z0-9]+') %}邮箱地址合法{% else %}邮箱地址不合法{% endif %}```2. 字符串替换可以使用Jinja2正则表达式进行字符串替换,将一个字符串中符合某种模式的部分替换为指定的内容。
例如,将一个字符串中的空格替换为下划线:```python{{ text|replace(' ', '_') }}```3. 子串提取可以使用Jinja2正则表达式进行子串提取,从一个字符串中提取符合某种模式的子串。
正则表达式是一种强大的文本处理工具,通过定义匹配模式、字符集合和重复次数等规则,可以方便地实现对指定字符串的截取和提取。
在本文中,我将深入探讨正则表达式在截取指定字符串之间内容时的应用和实践。
1. 正则表达式的基本概念在介绍正则表达式如何截取指定字符串之间的内容之前,首先需要了解正则表达式的基本概念。
正则表达式是由普通字符(例如字母、数字、特殊符号)和元字符(例如"."、"*"、"[]"等)组成的表达式,用于定义匹配模式。
通过合理地组合这些字符和元字符,可以实现对文本中特定模式的匹配和提取。
2. 正则表达式截取指定字符串之间的内容当需要截取指定字符串之间的内容时,正则表达式可以为我们提供便利。
如果我们要从一段HTML代码中提取<a>标签内的信息位置区域,可以使用如下的正则表达式:```html/<a[^>]+href="([^"]+)"[^>]*>/```这个正则表达式可以匹配包含href属性的<a>标签,并提取其中的信息位置区域。
通过在正则表达式中使用括号来定义捕获组,我们可以方便地获取指定字符串之间的内容。
3. 正则表达式的深入应用除了简单的字符串截取,正则表达式还可以实现更复杂的内容提取。
当需要从一段文本中提取所有符合某种模式的通信方式号码时,可以使用如下的正则表达式:```javascript/(\d{3}-\d{8}|\d{4}-\d{7})/```这个正则表达式可以匹配常见的通信方式号码格式,并提取文本中所有符合该格式的通信方式号码。
通过在正则表达式中使用"|"(或)操作符,我们可以实现多种模式的匹配和提取。
4. 总结与回顾正则表达式在截取指定字符串之间的内容时,具有灵活、强大的特点。
通过合理地构建匹配模式和捕获组,我们可以实现对文本中任意内容的提取。
在日常生活中,我们经常会遇到各种需要匹配和验证身份、信息的场景。
其中,18位阿拉伯数字或大写英文字母的正则表达式就是一个常见且十分重要的工具。
在本篇文章中,我将深入探讨这个主题,从简单到复杂,由浅入深地介绍18位阿拉伯数字或大写英文字母的正则表达式。
让我们了解一下什么是正则表达式。
正则表达式,又称正规表示式、常规表示式、正规表达式,是一种字符串匹配的工具。
它的应用领域非常广泛,包括文本处理、表单验证、日志分析等,而18位阿拉伯数字或大写英文字母的正则表达式则是其中的一个具体应用场景。
接下来,让我们先从简单的正则表达式开始。
对于18位阿拉伯数字的正则表达式,可以使用\d{18}来匹配。
其中,\d表示匹配任意一个数字字符,{18}表示前面的\d需要连续匹配18次。
这样就可以准确地匹配到18位的数字序列,从000000000000000001到999999999999999999。
在现实生活中,我们可能会遇到需要验证输入是否为18位阿拉伯数字的场景,比如唯一识别信息号码的输入框。
通过使用\d{18}的正则表达式,我们可以轻松地对用户输入的唯一识别信息号码进行验证,确保其格式的正确性。
而对于大写英文字母的正则表达式,则可以使用[A-Z]{18}来匹配。
其中,[A-Z]表示匹配任意一个大写英文字母,{18}表示前面的[A-Z]需要连续匹配18次。
通过这样的正则表达式,我们可以精确地匹配到由18个大写英文字母组成的序列,从AAAAAAAAAAAAAAAAAA到ZZZZZZZZZZZZZZZZZZ。
在实际应用中,我们可能会需要验证输入是否为18位由大写英文字母组成的序列,比如一些特定的产品编码。
通过使用[A-Z]{18}的正则表达式,我们可以快速地判断用户输入的产品编码是否符合规定的格式,从而有效地提高输入内容的准确性。
18位阿拉伯数字或大写英文字母的正则表达式在日常生活中有着重要的作用。
它不仅可以用于验证唯一识别信息号码、产品编码等特定格式的输入,也可以用于筛选、匹配文本信息,是一种非常实用的工具。
正则表达式及应用 一、 正则表达式 (一)、概念: 正则表达式(regular expression)就是由普通字符(例如a到z)以及特殊字符(称为元字符)组成的一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。
(二)、正则表达式中主要元字符:【其中常用的元字符用红色标出,红色的元字符必须掌握。难点用蓝色标出,难点在一般的应用中并不常用】
1. \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' (newline)匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。 „\r‟ (return) 2. ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置。 3. $ 匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性,$ 也匹配 '\n' 或 '\r' 之前的位置。 4. * 匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。 5. + 匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。 6. ? 匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等价于 {0,1}。 7. {n} n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。 8. {n,} n 是一个非负整数。至少匹配n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等价于 'o+'。'o{0,}' 则等价于 'o*'。 9. {n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o{1,3}" 将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于 'o?'。请注意在逗号和两个数之间不能有空格。 10. ? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串 "oooo",'o+?' 将匹配单个 "o",而 'o+' 将匹配所有 'o'。 11. 点“. ” 匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式。 12. x|y 匹配 x 或 y。“|”代表“或”的意思。例如,'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 则匹配 "zood" 或 "food"。 13. [xyz] 字符集合。匹配所包含的任意一个字符。例如, '[abc]' 可以匹配 "plain" 中的 'a'。 14. [^xyz] 负值字符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain" 中的'p'。 15. [a-z] 字符范围。匹配指定范围内的任意字符。例如,'[a-z]' 可以匹配 'a' 到 'z' 范围内的任意小写字母字符。 16. [^a-z] 负值字符范围。匹配任何不在指定范围内的任意字符。例如,'[^a-z]' 可以匹配任何不在 'a' 到 'z' 范围内的任意字符。 17. \b 匹配一个单词边界,也就是指单词和空格间的位置。例如, 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。 18. \B 匹配非单词边界。'er\B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。 19. \cx 匹配由 x 指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 'c' 字符。 20. \d 匹配一个数字字符。等价于 [0-9]。 digital 21. \D 匹配一个非数字字符。等价于 [^0-9]。 22. \f 匹配一个换页符。等价于 \x0c 和 \cL。 23. \n 匹配一个换行符。等价于 \x0a 和 \cJ。 24. \r 匹配一个回车符。等价于 \x0d 和 \cM。 25. \s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。 (space) 26. \S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。 27. \t 匹配一个制表符。等价于 \x09 和 \cI。 28. \v 匹配一个垂直制表符。等价于 \x0b 和 \cK。 29. \w 匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。 word 30. \W 匹配任何非单词字符。等价于 '[^A-Za-z0-9_]'。 31. \num 匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。例如,'(.)\1' 匹配两个连续的相同字符。 32. \xn 匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如,'\x41' 匹配 "A"。'\x041' 则等价于 '\x04' & "1"。正则表达式中可以使用 ASCII 编码。 33. \un 匹配 n,其中 n 是一个用四个十六进制数字表示的 Unicode 字符。例如, \u00A9 匹配版权符号 (?)。 34. (pattern) 匹配 pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到,在VBScript 中使用 SubMatches 集合,在JScript 中则使用 $0…$9 属性。要匹配圆括号字符,请使用 '\(' 或 '\)'。 35. (?=pattern) 正向预查。例如windows(?=95/98/2000/NT),含义是匹配“windows”后面可以是“95”“98”“2000”或者“NT”。 36. (?!pattern) 负向预查。例windows(?!95/98),含义是匹配“windows”后面不是“95”或“98”的其它字符串。
(三)、图解正则表达式:
匹配所有Moth DD,YYYY格式的日期 匹配所有Month DD,YYYY格式的日期,定义月份值为第一个组
匹配所有123-12-1234格式的社会安全号码 匹配IP地址
\d{1,3}\.\d{1,3}\.
匹配FONT标记的所有属性
(四)、特殊字符: 有部分元字符在正则表达式中代表特定的含义。如果要匹配这些字符本身,需要使用反斜杠"\"进行转义。这些特殊字符有:
1. ^ $ 2. * + ? 3. { } ( ) [ ] 4. \ / . |
【备注:】以上特殊符号在实际定义regexp字符串的时候,实际上使用两个反斜杠"\\"。 (五)、元字符优先级顺序(从高到低,从左到右) 1. \ 转义字符 2. () 圆括号, [] 方括号 3. * + ? {n} {n,} {n,m} 限定符 4. ^ $ 开始和结束标识 5. | "或"操作
(六)、正则表达式的用途: 1、数据有效性验证:用户注册模块是应用正则表达式最集中的地方,主要是用于验证用户帐号、密码、EMAIL、电话号码、QQ号码、身份证号码、家庭地址等信息。如果填写的内容与正则表达式不匹配,可以断定填写的内容是不合乎要求或虚假的信息; 2、模糊查询,批量替换。可以在文档中使用一个正则表达式来查找匹配的特定文字,然后可以全部将其删除,或者替换为别的文字。
(七)、常用的正则表达式的写法: 1、中文字符:^[\u4E00-\u9FA5]+$ 2、手机号码:^(86)?0?1\d{10}$ 电话号码:^((d{3,4})|d{3,4}-)?d{7,8}$ 3、Email地址:^[\w-]+[\w-.]?@[\w-]+(\.[A-Za-z]{2,5})+$ Email地址:^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$ Email地址:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* 4、URL网址:^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$ URL网址:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)? 5、密码(安全级别中):^(\d+[A-Za-z]\w*|[A-Za-z]+\d\w*)$ 6、密码(安全级别高):^(\d+[a-zA-Z~!@#$%^&(){}][\w~!@#$%^&(){}]*|[a-zA-Z~!@#$%^&(){}]+\d[\w~!@#$%^&(){}]*)$
【备注:】对于同一个需求的正则表达式,因理解不同和验证的严格程度不同而差异很大,没有固定的统一写法。只要尽量与需求进行匹配就可以。
(八)、正则表达式的备注说明:【了解】 1、大写英文字母的正则表达式,除了可以写成[A-Z],还可以写成[\x41-\x5A]。因为在ASCII码字典中A-Z被排在了65-90号(也就是ASCII码的第66到第91位),换算成16进制就是0x41-0x5A; 2、[0-9],可以写成[\x30-\x39]; 3、[a-z],可以写成[\x61-\x7A]。 4、中文的正则表达式为:[\u4E00-\u9FA5]