正则表达式学习笔记

合集下载

C#正则表达式基础知识(经典归纳简单易懂)

C#正则表达式基础知识(经典归纳简单易懂)

正则表达式基础知识目录前言 (4)System.Text.RegularExpressions命名空间 (4)Regex类 (5)RegexOption枚举 (5)构造函数 (5)IsMatch()方法 (6)Match()方法 (6)使用Match对象 (6)MatchObj.Success (6)MatchObj.Value (7)MatchObj.ToString() (7)MatchObj.Length (7)MatchObj.Index (7)MatchObj.Groups (7)使用Group对象 (7)GroupObj.Success (7)GroupObj.Value (8)GroupObj.ToString() (8)GroupObj.Length (8)GroupObj.Index (8)GroupObj.Captures (8)MatchObj.NextMatch() (8)MatchObj.Result (string) (8)特殊的Replacement字符串 (9)MatchObj.Synchronized() (9)MatchObj.Captures (9)Matchs()方法 (10)Replace()方法 (10)Split()方法 (11)正则表达式缓存 (11)辅助函数 (12)Regex.Escape(string) (12)Regex.Unescape(string) (12)Regex.Empty (12)pileToA ssembly(...).. (12)基本语法 (13)字符匹配语法 (13)重复匹配语法 (13)字符定位语法 (14)转义匹配语法 (14)其它匹配语法 (15)语法示例 (16)(1)“@”符号 (16)(2)基本的语法字符 (16)(3)定位字符 (17)(4)重复描述字符 (19)(5)择一匹配 (20)(6)特殊字符的匹配 (21)(7)组与非捕获组 (21)(8)贪婪与非贪婪 (23)(9)回溯与非回溯 (24)(10)正向预搜索、反向预搜索 (24)(11)十六进制字符范围 (26)(12)对[0,100]的比较完备的匹配 (26)(13)精确匹配有时候是困难的 (27)前言正则表达式(Regular Expression)是强大、便捷、高效的文本处理工具。

正则表达式常用语法

正则表达式常用语法

正则表达式常用语法
嘿,朋友们!今天咱来聊聊正则表达式常用语法这个神奇的玩意儿。

你说正则表达式像啥?就好比是一把超级精准的钥匙,能帮你打开各种复杂数据结构的大门。

它能在一大堆乱七八糟的字符里,迅速找到你想要的那部分,厉害吧!
咱先说说字符匹配。

这就好像是在茫茫人海中,一眼认出你熟悉的那张脸。

比如说,你想找所有的字母 a,那正则表达式就能帮你把它们都揪出来。

还有量词呢,这可有意思啦!就像是你去买苹果,你可以说“我要一个苹果”“我要几个苹果”或者“我要一堆苹果”。

在正则表达式里,量词就决定了你要找的那个字符出现的次数。

比如“a+”,那就是至少一个 a 呀,是不是很形象?
然后是分组,这就像是把一些相关的东西放在一个小盒子里。

比如你有一组数字,你可以把它们分成几个部分,然后对每个部分进行单独的操作。

再说说选择,就好比你去餐馆吃饭,你可以选择吃面或者吃饭,这在正则表达式里就是可以从几个不同的模式中选择一个来匹配。

咱举个例子吧,你要在一篇文章里找所有以“ab”开头的单词,这时候正则表达式不就派上用场了嘛!你写个合适的表达式,它就能迅速给你找出来。

正则表达式真的是超级实用啊!你想想,要是没有它,面对那些海量的数据,你不得头疼死啊?它能让你的工作变得轻松高效,难道不是吗?
而且啊,学会了正则表达式常用语法,你就像是掌握了一门神奇的技能,能解决好多别人觉得很难的问题呢!你难道不想拥有这样的技能吗?
总之,正则表达式常用语法是个非常有用的东西,大家一定要好好去学,去用,相信我,你会发现一个全新的世界!。

20个正则表达式必知(能让你少写1,000行代码)

20个正则表达式必知(能让你少写1,000行代码)

20个正则表达式必知(能让你少写1,000⾏代码)正则表达式(regular expression)描述了⼀种字符串匹配的模式,可以⽤来检查⼀个串是否含有某种⼦串、将匹配的⼦串做替换或者从某个串中取出符合某个条件的⼦串等。

列⽬录时, dir *.txt或ls *.txt中的*.txt就不是⼀个正则表达式,因为这⾥*与正则式的*的含义是不同的。

构造正则表达式的⽅法和创建数学表达式的⽅法⼀样。

也就是⽤多种元字符与运算符可以将⼩的表达式结合在⼀起来创建更⼤的表达式。

正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。

正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的⽂字模式。

模式描述在搜索⽂本时要匹配的⼀个或多个字符串。

正则表达式作为⼀个模板,将某个字符模式与所搜索的字符串进⾏匹配。

正则表达式,⼀个⼗分古⽼⽽⼜强⼤的⽂本处理⼯具,仅仅⽤⼀段⾮常简短的表达式语句,便能够快速实现⼀个⾮常复杂的业务逻辑。

熟练地掌握正则表达式的话,能够使你的开发效率得到极⼤的提升。

正则表达式经常被⽤于字段或任意字符串的校验,如下⾯这段校验基本⽇期格式的JavaScript代码:var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2})$/;var r = fieldValue.match(reg);if(r==null)alert('Date format error!');下⾯是在前端开发中经常使⽤到的20个正则表达式:1 . 校验密码强度密码的强度必须是包含⼤⼩写字母和数字的组合,不能使⽤特殊字符,长度在8-10之间。

^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$2. 校验中⽂字符串仅能是中⽂。

^[\\u4e00-\\u9fa5]{0,}$3. 由数字、26个英⽂字母或下划线组成的字符串^\\w+$4. 校验E-Mail 地址同密码⼀样,下⾯是E-mail地址合规性的正则检查语句。

(个人收集学习笔记)4字符串处理与正则表达式

(个人收集学习笔记)4字符串处理与正则表达式

(个人收集学习笔记)4字符串处理与正则表达式第四章字符串处理与正则表达式一、字符串处理介绍1、如果字符串处理函数和正则表达式都可以实现字符串操作,建议使用字符串处理函数,因为效率高。

2、因为PHP 是弱类型语言,所以其他类型的数据一般都可以直接应用于字符串操作函数里,而自动转换成字符串类型进行处理。

3、还可以将字符串视为数组,或当作字符集合来看待。

$str[0]$str{0}二、常用的字符串输出函数1、echo()函数:使用它的效率要比其他字符串输出函数高。

2、print()函数:功能和echo()一样,但它有返回值,成功返回1,不成功返回0。

3、die()函数:exit()函数的别名。

1)参数如果是字符串,则该函数会在退出前输出它。

2)如果参数是一个整数,这个值会被用做退出状态。

值在0-254之间,退出状态255由PHP 保留,不会使用。

状态0用于成功终止程序。

4、printf():用于输出格式化字符串。

1)例子:printf(“%s age is $d”,$str,$num);2)%d :带符号十进制数%u :无符号十进制数%f :浮点数%s :字符串%b :二进制数%c :依照ASCII 值的字符%%:返回百分比符号%o :八进制数%x :十六进制数(小写字母)%X :十六进制数(大写字母)3)如果%符号多于arg 参数,则必须使用占位符。

占位符被插入到%符号之后,由数字和\$组成。

如:printf(“The %2\$s book contains %1\$d pages.That’s a nice %2\$s full of %1\$d pages”,$num,$str);%2\$s 代表$str 。

5、sprintf()函数:用法和printf()一样,但它不是输出字符串,而是把格式化的字符串以返回值的形式写入到一个变量中。

三、常用的字符串格式化函数字符串的格式化就是将字符串处理为某种特定的格式。

正则表达式基础语法

正则表达式基础语法

正则表达式基础语法正则表达式是一种用于字符匹配的工具,它可以方便地对输入的文本进行筛选、提取或替换。

正则表达式的基础语法包括了一些常用的符号和表达式,下面就来一步步学习。

1. 字符匹配在正则表达式中,普通的字符表示对应的字符,比如"a"表示匹配字符"a","123"表示匹配数字串"123"。

这种模式匹配在实际应用中较少使用。

2. 元字符元字符是正则表达式中特殊含义的字符,它们在匹配时不表示原本的含义,而是表示一种特殊的匹配方式。

常用的元字符包括:.、^、$、*、+、?、\、|、[]、()、{}等。

3. 点字符(.)点字符表示任意一个字符,比如".at"可以匹配"cat","bat"等。

需要注意的是,点字符不能匹配换行符。

4. 开始符(^)和结束符($)开始符^表示匹配行首,用在正则表达式的开头,如"^abc"可以匹配"abc"开头的字符串;结束符$表示匹配行尾,用在正则表达式的末尾,如"def$"可以匹配"def"结尾的字符串。

5. 重复符(*, +, ?)重复符表示某个字符或表达式重复出现的次数,*表示重复0或多次,+表示重复1或多次,?表示重复0或1次。

如"ba*t"可以匹配"bt","bat","baat"等。

6. 转义符(\)转义符用于转义元字符,比如"\\."可以匹配"."字符本身,"\\\\d"可以匹配"\d"的字符串。

7. 或(||)或符号可以匹配多个表达式中的任意一个,如"cat|dog"可以匹配"cat"或"dog"。

正则表达式完全学习手册

正则表达式完全学习手册

正则表达式完全学习手册:菜鸟入门指导正则表达式能够很恐怖,真得很恐怖。

幸运的是,一旦记住每一个符号所表达的意思,恐惧就会快速消退。

若是你对正则表达式一无所知,正如文章题目,那你又就有很多东西要学了。

下面让咱们马上开始吧。

第一节:基础学习想要高效地学习和掌握正则表达式的关键是花一天的时刻记居处有符号。

这可能是我所能提供的最好的建议。

坐下来,做些记忆卡片,然跋文住它们。

以下为最多见的一些符号:. - 匹配任意字符,换行符除外(如果dotall 为false)。

* - 该符号前面的字符,匹配0 次或多次。

+ - 该符号前面的字符,匹配1次或多次? - 该符号前面的字符是可选的。

匹配0 次或1 次。

\d - 匹配任何单个数字。

\w - 匹配任何一个字符(包括字母数字以及下划线)。

[XYZ] - 匹配字符组中的任意一个字符,即X、Y、Z 中的任意一个。

[XYZ]+ - 匹配字符组中的一个或多个字符。

$ - 匹配字符串结束的位置。

^ - 匹配字符串开始的位置。

[^a-z] - 当出现在字符类中时,^ 表示 NOT(非);对于该示例,表示匹配任何非小写字母。

很闷吧,不过仍是记住它们,记住以后你会明白益处的。

工具你以为一个表达式是正确的,超级正确,但就是无法取得想要的结果,这时你可能会产生将头发拔光的冲动。

去下载桌面应用程序吧,那个对你是必不可少的,而且玩起来超级有趣的。

它提供实时检查,还有一个侧边栏,里面包括了每一个字符的概念和用户,超级详细。

第二节:正则表达式傻瓜教程:抓屏视频下一步是学习如何真正地利用这些符号。

若是视频是你的偏好,那你走运了。

这里有五个课程的视频教程,超级适合你:“”。

(Jeffery Way:在这一系列视频教程中,我将交给你如安在JavaScript和PHP中高效的利用正则表达式。

我会假设你是从零开始。

)第三节:正则表达式和 JavaScript本节为最后一节,咱们来看看JavaScript 方式如何利用正则表达式。

正则表达式30分钟入门教程

正则表达式30分钟入门教程

正则表达式30分钟入门教程正则表达式是一种强大的文本匹配工具,可以在大量的文本数据中进行快速、准确的模式匹配和提取。

对于需要处理文本数据的开发人员和数据分析师来说,掌握正则表达式是非常重要的。

本文将带您在30分钟内入门正则表达式,让您能够快速上手使用。

一、什么是正则表达式?正则表达式是一种用于匹配、查找和替换文本的字符串模式。

它使用特定的语法规则来描述要匹配的字符序列。

正则表达式可以用于验证输入的有效性、从文本中提取特定的信息、替换文本中的指定部分等。

二、正则表达式的基本语法1. 字符匹配:正则表达式中的普通字符表示匹配该字符本身。

例如,正则表达式abc可以匹配字符串abc。

2. 字符类:用方括号[]表示,可以匹配方括号中任意一个字符。

例如,正则表达式[abc]可以匹配字符串a、b或c。

3. 量词:用于指定匹配的次数。

例如,正则表达式a{3}可以匹配3个连续的a字符。

4. 选择符:用竖线|表示,可以匹配多个模式中的一个。

例如,正则表达式a|b可以匹配字符串a或b。

5. 边界匹配:用于限定匹配的位置。

例如,^表示匹配字符串的开头,$表示匹配字符串的结尾。

三、常用的正则表达式示例1. 匹配手机号码:^\d{11}$2. 匹配邮箱地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$3. 匹配身份证号码:^\d{17}[\dXx]$4. 匹配URL地址:^[a-zA-Z]+://[^\s]*$5. 匹配日期:^\d{4}-\d{2}-\d{2}$6. 匹配IP地址:^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$四、常用的正则表达式工具1. 在Python中,可以使用re模块来操作正则表达式。

2. 在JavaScript中,可以使用RegExp对象来操作正则表达式。

3. 在文本编辑器中,可以使用正则表达式进行查找和替换。

五、常见问题解答问:如何匹配一个或多个任意字符?答:可以使用点号.来匹配一个任意字符,使用点号加上量词*来匹配一个或多个任意字符。

ORACLE 正则表达式摘录笔记

ORACLE 正则表达式摘录笔记

ORACLE 正则表达式一.正则表达式简介:正则表达式,就是以某种模式来匹配一类字符串。

一旦概括了某类字符串,那么正则表达式即可用于针对字符串的各种相关操作。

例如,判断匹配性,进行字符串的重新组合等。

正则表达式提供了字符串处理的快捷方式。

Oracle 10g及以后的版本中也支持正则表达式.二. 正则表达式相对通配符的优势:1.正则表达式中不仅存在着代表模糊字符的特殊字符,而且存在着量词等修饰字符,使得模式的控制更加灵活和强大。

2.通配符的使用一般是在特定的环境下,不同的环境下,通配符有可能不同。

而正则表达式,不但广泛应用于各种编程语言,而且在各种编程语言中,保持了语法的高度一致性。

三. 元字符:元字符是指在正则表达式中表示特殊含义的字符。

量词用来指定量词的前一个字符出现的次数。

量词的形式主要有“?”、“*”、“+”、“{}”。

量词在用于匹配字符串时,默认遵循贪婪原则。

贪婪原则是指,尽可能多地匹配字符。

例如:字符串“Function(p),(OK)”,如果使用正则表达式“\(.*\)”进行匹配,则得到字符串“(p),(OK)” ,而非“(p)”;若欲得到“(p)”,则必须取消量词的贪婪原则,此时只需要为量词后追加另外一个数量词“?”即可。

如上面的正则表达式应该改为“\(.*?\)”。

五. 字符转义:元字符在正则表达式中有特殊含义。

如果需要使用其原义,则需要用到字符转义。

字符转义使用字符“\”来实现。

其语法模式为:“\”+元字符。

例如,“\.”表示普通字符“.”;“\.doc”匹配字符串“.doc”;而普通字符“\”需要使用“\\”来表示。

六. 字符组.字符组是指将模式中的某些部分作为一个整体。

这样,量词可以来修饰字符组,从而提高正则表达式的灵活性。

字符组通过()来实现.许多编程语言中,可以利用“$1”、“$2”等来获取第一个、第二个字符组,即所谓的后向引用。

在Oracle中,引用格式为“\1”、“\2”。

《Mastering Regular Expressions》---学习笔记

《Mastering Regular Expressions》---学习笔记

近段涉及到了数据的解析,自然离不开对Regular Expressions(正则表达式)的温习;在jdk 官方源码中看到了对《Mastering Regular Expressions, 2nd Edition》的推荐;由Jeffrey E.F. Friedl大师主刀,O'Reilly于2002年再版。

对O'Reilly的书向有好感,像当年误入java的歧途,没看Java编程思想之类的,倒看了O'Reilly的一本影印版《java in a nutshell》,颇留记忆。

正则表达式的“祖先”可以一直上溯至对人类神经系统如何工作的早期研究。

Warren McCulloch 和Walter Pitts 这两位神经生理学家研究出一种数学方式来描述这些神经网络。

1956 年, 一位叫Stephen Kleene 的数学家在McCulloch 和Pitts 早期工作的基础上,发表了一篇标题为“神经网事件的表示法”的论文,引入了正则表达式的概念。

正则表达式就是用来描述他称为“正则集的代数”的表达式,因此采用“正则表达式”这个术语。

随后,发现可以将这一工作应用于使用Ken Thompson 的计算搜索算法的一些早期研究,Ken Thompson 是Unix 的主要发明人。

正则表达式的第一个实用应用程序就是Unix 中的qed 编辑器。

目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统;PHP,Perl,Python,C#,Java等开发环境,以及很多的应用软件中,For Example:网络上的搜索引擎,数据库的全文检索etc...本笔记是是自我学习过程的一个整理,例子或来源于书本,或自己枚举。

好了,废话一箩筐,切入正题。

1.正则表达式的介绍1.1、行开始和结束^begin line。

匹配行开头,如^cat匹配以cat开头的$end line。

正则表达式学习笔记(1)

正则表达式学习笔记(1)

正则表达式学习笔记(1)正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。

列目录时,dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是不同的。

为便于理解和记忆,先从一些概念入手,所有特殊字符或字符组合有一个总表在后面,最后一些例子供理解相应的概念。

正则表达式是由普通字符(例如字符 a 到z)以及特殊字符(称为元字符)组成的文字模式。

正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。

可以通过在一对分隔符之间放入表达式模式的各种组件来构造一个正则表达式,即/expression/普通字符由所有那些未显式指定为元字符的打印和非打印字符组成。

这包括所有的大写和小写字母字符,所有数字,所有标点符号以及一些符号。

非打印字符特殊字符所谓特殊字符,就是一些有特殊含义的字符,如上面说的"*.txt"中的*,简单的说就是表示任何字符串的意思。

如果要查找文件名中有*的文件,则需要对*进行转义,即在其前加一个\。

ls \*.txt。

正则表达式有以下特殊字符。

构造正则表达式的方法和创建数学表达式的方法一样。

也就是用多种元字符与操作符将小的表达式结合在一起来创建更大的表达式。

正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。

限定符限定符用来指定正则表达式的一个给定组件必须要出现多少次才能满足匹配。

有*或+或?或{n}或{n,}或{n,m}共6种。

*、+和?限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有在它们的后面加上一个?就可以实现非贪婪或最小匹配。

正则表达式的限定符有:定位符用来描述字符串或单词的边界,^和$分别指字符串的开始与结束,\b描述单词的前或后边界,\B表示非单词边界。

正则表达式快速记忆法

正则表达式快速记忆法

要想学会正则表达式,理解元字符是一个必须攻克的难关。

不用刻意记.:匹配任何单个字符。

例如正则表达式“b.g”能匹配如下字符串:“big”、“bug”、“bg”,但是不匹配“buug”,“b..g”可以匹配“buug”。

[ ] :匹配括号中的任何一个字符。

例如正则表达式“b[aui]g”匹配bug、big和bag,但是不匹配beg、baug。

可以在括号中使用连字符“-”来指定字符的区间来简化表示,例如正则表达式[0-9]可以匹配任何数字字符,这样正则表达式“a[0-9]c”等价于“a[0123456789]c”就可以匹配“a0c”、“a1c”、“a2c”等字符串;还可以制定多个区间,例如“[A-Za-z]”可以匹配任何大小写字母,“[A-Za-z0-9]”可以匹配任何的大小写字母或者数字。

( ) :将()之间括起来的表达式定义为“组”(group),并且将匹配这个表达式的字符保存到一个临时区域,这个元字符在字符串提取的时候非常有用。

把一些字符表示为一个整体。

改变优先级、定义提取组两个作用。

| :将两个匹配条件进行逻辑“或”运算。

'z|food'能匹配"z"或"food"。

'(z|f)ood'则匹配"zood"或"food"。

*:匹配0至多个在它之前的子表达式,和通配符*没关系。

例如正则表达式“zo*”能匹配“z”、“zo”以及“zoo”;因此“.*”意味着能够匹配任意字符串。

"z(b|c)*"→zb、zbc、zcb、zccc、zbbbccc。

"z(ab)*"能匹配z、zab、zabab(用括号改变优先级)。

+ :匹配前面的子表达式一次或多次,和*对比(0到多次)。

例如正则表达式9+匹配9、99、999等。

“zo+”能匹配“zo”以及“zoo”,不能匹配"z"。

正则表达式知识点记录与学习思考

正则表达式知识点记录与学习思考

正则表达式学习总结、知识点记录正则表达式(Regular Expression),它是用一个“字符串”定义一种“模式”,然后把它应用到另一个“字符串”中用以寻找是否有与此“模式”相匹配的字符。

应用原则和你需要知道的:1、清楚的了解目标文本是正确使用RE的根本前提。

也就是说,从已知文本中提取数据与从随机文本中提取数据根本不是一回事。

2、如果某个RE基本不可能匹配到不期望的结果,使用它就是合理的。

3、RE的构建复杂度取决于你想要得到多么精准的结果,什么是最合适的解决方案取决于你可以接受的精确度、效率、对错误的容忍程度。

4、平衡法则(好的RE必须在以下方面求得平衡):1.只匹配期望的文本,排除不期望的。

2.易于控制和理解。

3.保证效率。

如果能够匹配必须很快的返回结果;如果不能应在尽可能短的时间内报告失败。

5、别忘了时常想想匹配失败的情形。

6、验证某个模式能不能获得预期的匹配结果并不困难,但如何验证它不会匹配到你不想要的东西可就没那么简单了。

也就是说把不需要匹配的情况也考虑周全并确保它们都将被排除在外往往十分困难。

7、不应该忘记考虑这样的“特殊”情形,针对“糟糕”的数据,RE不应该能够匹配。

引擎构造与基本工作机制:字符、元字符、字符组、量词、括号的组合方式决定了引擎的特性。

有两种类型的引擎:文本导向(text-directed)的DFA引擎和正则导向(regex-directed)的NFA引擎。

它们全称是:确定型有穷自动机、非确定型有穷自动机。

其中NFA又分为:传统型NFA和POSIX NFA。

本文总结的是传统NFA的引擎。

这是因为一些非常有用的特性,如:回溯(backtrack)、捕获括号(capture brace)、环视(look around)、忽略优先量词(lazy quantifiers)、反向引用(back references)、占有优先量词(possessive quantifiers)、固化分组(atomic group),只能在正则导向的引擎中实现。

正则表达式学习资料

正则表达式学习资料

“正则表达式”学习资料引言正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来:(1)检查一个串中是否含有符合某个规则的子串,并且可以得到这个子串;(2)根据匹配规则对字符串进行灵活的替换操作。

正则表达式学习起来其实是很简单的,不多的几个较为抽象的概念也很容易理解。

之所以很多人感觉正则表达式比较复杂,一方面是因为大多数的文档没有做到由浅入深地讲解,概念上没有注意先后顺序,给读者的理解带来困难;另一方面,各种引擎自带的文档一般都要介绍它特有的功能,然而这部分特有的功能并不是我们首先要理解的。

1. 正则表达式规则普通字符字母、数字、汉字、下划线、以及后边章节中没有特殊定义的标点符号,都是"普通字符"。

表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的一个字符。

,匹配结果是:成功;匹配到的内容是:"c";匹配到的位置是:开始于2,结束于3。

(注:下标从0开始还是从1开始,因当前编程语言的不同而可能不同),匹配结果是:成功;匹配到的内容是:"bcd";匹配到的位置是:开始于1,结束于4。

简单的转义字符一些不便书写的字符,采用在前面加"\" 的方法。

这些字符其实我们都已经熟知了。

表达式可匹配\r, \n 代表回车和换行符\t 制表符\\ 代表"\" 本身还有其他一些在后边章节中有特殊用处的标点符号,在前面加"\" 后,就代表该符号本身。

比如:^, $ 都有特殊意义,如果要想匹配字符串中"^" 和"$" 字符,则表达式就需要写成"\^" 和"\$"。

表达式可匹配\^ 匹配^ 符号本身\$ 匹配$ 符号本身\. 匹配小数点(.)本身这些转义字符的匹配方法与"普通字符" 是类似的。

Python学习笔记——正则表达式入门

Python学习笔记——正则表达式入门

Python学习笔记——正则表达式⼊门# 本⽂对正则知识不做详细解释,仅作⼊门级的正则知识⽬录。

正则表达式的强⼤早有⽿闻,⼤⼀时参加⼀次选拔考试,题⽬就是⽤做个HTML解析器,正则的优势表现得淋漓尽致。

题外话不多讲,直接上⼲货:1. 元字符: 与之对应的还有反义字符,⼤部分为⼩写字母变⼤写,例如\D表⽰匹配⾮数字的字符。

2. 重复(即匹配变长的字符串): 元字符可匹配单⼀的字符类型,若想匹配长度未知或长度限定的字符串需要在后边加上限定符。

3. 范围与分组: 有时元字符并不能满⾜匹配字符的需求,这时就需要[]来圈定匹配范围,例如要匹配⼀个只带有a,s,d,f的单词,可以⽤\b[asdf]\b;正则⾥⾯还有⼩括号⽤来表⽰分组,⽐如你想重复某⼏个字符,就可以使⽤分组,例如(\d.\d){1,3}表⽰匹配⼩括号⾥的重复内容⼀到三次。

此外,⼩括号还可以⽤来后向引⽤等,此处不记。

4. 零宽断⾔: 零宽断⾔主要⽤来查找在某些断⾔(指定内容)之前或之后的内容,例如(?=exp)匹配表达式exp前⾯出现的内容(不匹配exp),(?<=exp)匹配表达式exp后⾯出现的内容,还有负向零宽断⾔等此处不记。

5. 贪婪与懒惰: 当正则表达式中包含能接受重复的限定符时,通常的⾏为是(在使整个表达式能得到匹配的前提下)匹配尽可能多的字符,即贪婪匹配。

如表达式a.*b,搜索aabab的话,它会匹配整个字符串aabab。

⽽懒惰匹配会匹配尽可能少的字符串,只需要在限定符后⾯加⼀个?,例如a.*?b会匹配aab(第⼀到第三个字符)和ab(第四到第五个字符)。

6. Python的re模块: python 提供re模块,提供正则的所有功能。

下⾯只记两个⽅法和⼀个注意的地⽅。

6.1 match⽅法: match()⽅法判断是否匹配,如果匹配成功,返回⼀个Match对象,否则返回None。

1 >>> import re2 >>> re.match(r'^\d{3}\-\d{3,8}$', '010-12345')3 <_sre.SRE_Match object at 0x1026e18b8>4 >>> re.match(r'^\d{3}\-\d{3,8}$', '010 12345')5 >>> 如果正则表达式中定义了组,就可以在Match对象上⽤group()⽅法提取出⼦串来。

正则表达式学习笔记

正则表达式学习笔记

正则表达式概要笔记个人学习时记下的笔记,包含主要的正则表达式语法,适合正则表达学习和复习,有需要的下载下。

//---正则表达式界定符,声明正则表达式的边界,正则表达式写在边界之中。

\ ---转义字符,如果要匹配的正则表达中有对和关键字相同的字符进行转义[]---匹配括号中任何一个字符,和逻辑运算符“或”相似(括号中只能写原子或原子的集合),可以使用‘|’‘-’如运算符[a-z|A-Z]表示匹配任意一个英文字母,如[a-z0-9]表示匹配任意一个英文字母或数字。

|----匹配两个或多个分支选择,两边必须是连续的多个原子,两边连续的子串做整体匹配[^]--匹配方括号中原子之外的任意原子,和[]互逆;^必须放最左边;原子-正则表达式最小匹配单位,Unicode编码的最小单位,有可见原子和不可见原子(空格'',换行'\r',tab'\t',回车'\n'为不可见原子)原子集合--------------------------------------------------------------.----匹配换行符之外的任意字符\d---匹配任意一个十进制数字\D---匹配任意一个非十进制数字,与\d互补\s---匹配一个不可见原子\S---匹配一个可见原子\w---匹配任意一个数字字母下划线\W---匹配任意一个非数字字母下划线;量词----------------------------------------------------------------------可以匹配原子和原子集合{n}--前面元素匹配n次{n,m}匹配最少n次,最多m次{n,}-前面最少出现n次*----匹配0,1,或多次+----最少出现一次?---匹配0,1次边界控制--------------------------------------------------------------^----匹配字符串开始的位置$----匹配字符串结尾的位置模式单元----------------------------------------------------()-匹配其中的整体作为一个原子修正模式--------------------------------------------------------------/末尾加模式修正标志,默认是贪婪模式;多模式可以并写;U----懒惰模式i----忽略英文大小写x----忽略空白,包括制表符,tab等s----让元字符.匹配包括换行符在内所有字符。

正则表达式笔记

正则表达式笔记

正则表达式笔记
正则表达式是一种用于匹配和处理文本的工具,它可以用来搜索、替换和提取文本信息。

在编程和数据处理中,正则表达式是非常重要的工具之一。

正则表达式由一系列字符和操作符组成,用于描述文本模式。

例如,字符串“hello”可以用正则表达式“h.*o”来匹配。

这个正则
表达式中的“.*”表示可以匹配任意字符。

正则表达式在不同的编程语言中都有支持,常用的语言有Python、Java、JavaScript等。

在使用正则表达式时,需要注意一些常见的
操作符和语法规则。

一些常见的操作符包括“*”、“+”、“.”、“^”、“$”等。

其中,“*”表示匹配0个或多个前面的字符,“+”表示匹配1个或多个前
面的字符,“.”表示匹配任意一个字符,“^”表示匹配行首,“$”表示匹配行尾。

使用正则表达式时,还需要注意一些语法规则。

例如,可以使用“[]”表示一个字符集合,使用“”来转义特殊字符,使用“()”表示一个子表达式等。

正则表达式在文本处理中有很多应用,例如搜索、替换、提取等。

在实际应用中,需要根据具体的需求来选择合适的正则表达式。

总之,正则表达式是一种非常强大的工具,可以帮助我们更方便地处理文本数据。

学习并掌握正则表达式是程序开发和数据处理中的必备技能之一。

思源笔记正则表达

思源笔记正则表达

思源笔记是一种常见的笔记软件,支持多种文本处理功能,其中正则表达式是一种强大的文本匹配和处理工具。

在思源笔记中,你可以使用正则表达式来查找、替换、提取等操作文本。

以下是一些常见的正则表达式语法和示例,可以帮助你在思源笔记中进行文本处理:
1. 查找文本:
* 查找单个字符:`a` 查找字母“a”
* 查找多个字符:`ab` 查找字母“a”后跟字母“b”
* 查找数字:`\d` 查找数字字符
* 查找任意字符:`.` 查找除换行符之外的任意字符
2. 替换文本:
* 替换单个字符:`a -> b` 将所有字母“a”替换为字母“b”
* 替换多个字符:`ab -> xy` 将所有字母“a”后跟字母“b”替换为字母“x”后跟字母“y”
* 替换特定模式:`(\d) -> \1` 将所有数字字符替换为其前面匹配到的内容(例如,将“123”替换为“123”前面匹配到的内容)
3. 提取文本:
* 提取单行文本:`^匹配内容$` 提取以匹配内容开头和结尾的行
* 提取多行文本:`^匹配行开始内容.*^匹配行结束内容` 提取以匹配行开始内容和匹配行结束内容分隔的文本块
* 提取数字:`\d+` 提取一个或多个数字字符
* 提取特定模式:`(\d)(\d)(\d)` 提取一个以三个数字字符组成的模式(例如,提取“123”)
以上只是正则表达式的一些基本语法和示例,你可以根据具体需求进行更复杂的文本处理操作。

请注意,具体的语法和功能可能因软件版本和平台而有所不同,建议查阅思源笔记的官方文档或使用在线正则表达式测试工具进行学习和验证。

正则表达式-Regularexpression学习笔记

正则表达式-Regularexpression学习笔记

正则表达式-Regularexpression学习笔记正则表达式正则表达式(Regular expression)是⼀种符号表⽰法,被⽤来识别⽂本模式。

最近在学习正则表达式,今天整理⼀下其中的⼀些知识点grep -打印匹配⾏grep 是个很强⼤的程序,⽤来找到⽂件中的匹配⽂本。

这样使⽤ grep 命令:grep pattern [file...]当 grep 遇到⼀个⽂件中的匹配”模式”,它会打印出包含这个类型的⾏。

(可以使⽤正则表达式)grep 程序以这样的⽅式来接受选项和参数:grep [options] regex [file...]grep选项选描述项-i忽略⼤⼩写。

不会区分⼤⼩写字符。

也可⽤--ignore-case 来指定。

-v不匹配。

通常,grep 程序会打印包含匹配项的⽂本⾏。

这个选项导致 grep 程序只会打印不包含匹配项的⽂本⾏。

也可⽤--invert-match 来指定。

-c打印匹配的数量(或者是不匹配的数⽬,若指定了-v 选项),⽽不是⽂本⾏本⾝。

也可⽤--count 选项来指定。

-l打印包含匹配项的⽂件名,⽽不是⽂本⾏本⾝,也可⽤--files-with-matches 选项来指定。

-L相似于-l 选项,但是只是打印不包含匹配项的⽂件名。

也可⽤--files-without-match 来指定。

-n在每个匹配⾏之前打印出其位于⽂件中的相应⾏号。

也可⽤--line-number 选项来指定。

-h应⽤于多⽂件搜索,不输出⽂件名。

也可⽤--no-filename 选项来指定。

正则表达式元字符由以下字符组成:^ $ . [ ] { } - ? * + ( ) | \. 任何字符圆点字符,其被⽤来匹配任意字符。

如果我们在正则表达式中包含它,它将会匹配在此位置的任意⼀个字符。

锚点 ^--开头 $--结尾在正则表达式中,插⼊符号和美元符号被看作是锚点。

这意味着正则表达式只有在⽂本⾏的开头或末尾被找到时,才算发⽣⼀次匹配。

正则表达式学习

正则表达式学习

正则表达式学习正则表达式(RegularExpression)是一种模式描述语言,用于指定文本搜索引擎在文本中查找或匹配字符串或字符序列的方法。

正则表达式(简称正则)是一个由非空字符序列及其运算符形成的文本搜索模式。

它具有强大的表达能力,可以在指定的文本中搜索出与该正则表达式匹配的字符串,并执行相应的操作。

正则表达式是数学中形式化语言的抽象,是一种文本搜索引擎,它可以根据正则表达式指定的模式,在文本中搜索或匹配字符串或字符序列。

它不仅能匹配简单的字符串,而且还能处理复杂的文本,如HTML、XML等。

正则表达式应用广泛,如编程语言,操作系统,文本编辑器,数据库等。

此外,它也被用作爬虫技术,文本处理,数据挖掘,机器学习,自然语言处理,脚本编写等。

正则表达式作为一种强大的文本搜索引擎,具有良好的可读性,可以让程序员更好地理解和使用,从而提高编程效率。

为了更好地理解正则表达式,程序员应具备一定的数学知识,特别是离散数学和形式化验证知识,这样才能深入理解正则表达式的原理。

正则表达式学习,首先要了解正则表达式的基本概念和技术,包括表达式的语法,匹配规则等。

因为正则表达式的原理很复杂,因此,学习者需要多练习,并熟悉各种正则表达式的用法。

此外,还应该多看一些书籍或文章,以及使用正则表达式实际开发项目,从而加深理解。

随着正则表达式的不断发展,程序员也应该坚持学习,尤其是一些新的技术,比如新出现的语言,新出现的编程技术等,都需要程序员继续努力学习,以保持正则表达式运用的先进性。

正则表达式不仅是程序员必须学习的技术,甚至更多的其他非计算机专业人士也应该掌握正则表达式,以进行文本处理、数据挖掘、文本搜索等活动。

这样,大家会更加全面地掌握这项有用的技能,同时也可以推动正则表达式的发展。

正则表达式的应用越来越广泛,它可以为程序员带来很多便利,也促进了计算机技术的发展。

随着科技的不断进步,正则表达式的研究及其应用会不断深入,它也将成为程序员们学习的重要内容。

PHP正则表达式笔记和实例

PHP正则表达式笔记和实例

PHP正则表达式笔记和实例本⽂主要介绍如何在PHP使⽤正则表达式,并附带⼏个实例.这两天⼯作⽤到了正则表达式,发现⾃⼰已经忘记的差不多了,囧啊!找来以前的学习笔记,好好看了⼀下,⼜巩固了这些知识,⼯作算是完成了,不过正则要学的东西还是蛮多的,以下是整理的以前的笔记和⼀些实例!⽬录:笔记⼀、正则表达式的介绍:⼆、语法:三、正则表达式的组成部分:四、正则表达式的函数:实例1.正则表达式匹配2.正则的元字符匹配3.正则表达式匹配⽹页4正则的其他函数使⽤5.⼦存储(扩展)笔记:⼀、正则表达式的介绍:正则表达式是⽤于描述字符排列和匹配模式的⼀种语法规则。

它主要⽤于字符串的模式分割、匹配、查找及替换操作。

1. ⽤途:匹配、查找、替换、分割2. php提供了两套正则表达式函数库*1. Perl 兼容正则表达式函数(推荐使⽤)2. POSIX 扩展正则表达式函数⼆、语法:1. 表达式的格式: "/表达式/[修正符]"解释:其中"/"表⽰正则表达式的定界符,但是也可以是其他符号:如”#“,”!“注意:定界符不可以是字母、数字和斜线\。

像“#”、“|”、“!”等都可以的如:/.../ #...# |....|其中修正符是可选的,表⽰对表达式做额外的修饰。

三、正则表达式的组成部分:1. 原⼦是组成正则表达式的基本单位,在分析正则表达式时,应作为⼀个整体。

原⼦包括以下内容:> 单个字符、数字,如a-z,A-Z,0-9。

> 模式单元,如(ABC)可以理解为由多个原⼦组成的⼤的原⼦。

> 原⼦表,如 [ABC]。

> 重新使⽤的模式单元,如:\\1> 普通转义字符,如:\d, \D, \w> 转义元字符,如:\*,\.> 元字符*2. 元字符(具有特殊意义字符):[] 表⽰单个字符的原⼦表例如:[aoeiu] 表⽰任意⼀个元⾳字母[0-9] 表⽰任意⼀位数字[a-z][0-9]表⽰⼩写字和⼀位数字构成的两位字符[a-zA-Z0-9] 表⽰任意⼀位⼤⼩字母或数字[^] 表⽰除中括号内原⼦之外的任何字符是[]的取反例如:[^0-9] 表⽰任意⼀位⾮数字字符[^a-z] 表⽰任意⼀位⾮⼩写字母{m} 表⽰对前⾯原⼦的数量控制,表⽰是m次例如:[0-9]{4} 表⽰4为数字[1][3-8][0-9]{9} ⼿机号码{m,} 表⽰对前⾯原⼦的数量控制,表⽰是⾄少m次例如: [0-9]{2,} 表⽰两位及以上的数字{m,n}表⽰对前⾯原⼦的数量控制,表⽰是m到n次例如: [a-z]{6,8} 表⽰6到8位的⼩写字母* 表⽰对前⾯原⼦的数量控制,表⽰是任意次,等价于{0,}+ 表⽰对前⾯原⼦的数量控制,表⽰⾄少1次,等价于{1,}表⽰对前⾯原⼦的数量控制,表⽰0次或1次(可有可⽆)等价于{0,1}例如:正整数:[1-9][0-9]*整数:[\-]?[0-9]+email:() 表⽰⼀个整体原⼦,【还有⼀个⼦存储单元的作⽤】。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{n,}:n 是非负整数。至少匹配 n 次。例如,“o{2,}”不匹配“Bob”中的“o”,而匹配“foooood”中的所有 o。“o{1,}”等效于“o+”。“o{0,}”等效于“o*”。
{n,m}:M 和 n 是非负整数,其中 n <= m。匹配至少 n 次,至多 m 次。例如,“o{1,3}”匹配“fooooood”中的头三个 o。'o{0,1}' 等效于 'o?'。注意:您不能将空格插入逗号和数字之间。
3、数字按顺序输入:1至7按顺序,每个数只能出现0或者1次
[1]{0,1}[2]{0,1}[3]{0,1}[4]{0,1}[5]{0,1}[6]{0,1}[7]{0,1}
[\u4e00-\u9fa5] //匹配中文字符
^[1-9]\d*$ //匹配正整数
^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
\d+(\R.\d{0,2})?
3、只能输入数字和“,/-”:
[0-9,/-]*
[A-Za-z0-9]*
比如:textBox中输入: 0.23,0.56,26,999,1268,-0.26,只可以输入这两种数据: 数字+逗号(英文半角,)
^-?\d+(\.\d+)?(,-?\d+(\.\d+)?)*,?$
\num:匹配 num,此处的 num 是一个正整数。到捕获匹配的反向引用。例如,“(.)\1”匹配两个连续的相同字符。
\n:标识一个八进制转义码或反向引用。如果 \n 前面至少有 n 个捕获子表达式,那么 n 是反向引用。否则,如果 n 是八进制数 (0-7),那么 n 是八进制转义码。
\nm:标识一个八进制转义码或反向引用。如果 \nm 前面至少有 nm 个捕获子表达式,那么 nm 是反向引用。如果 \nm 前面至少有 n 个捕获,则 n 是反向引用,后面跟有字符 m。如果两种前面的情况都不存在,则 \nm 匹配八进制值 nm,其中 n 和 m 是八进制数字 (0-7)。
[a-z0-9A-Z]
这个是匹配一个字母或者数字。
如果匹配一个或者多个,请在后面加上+号。
如果匹配0个或者多个,请在后面加上*号。
string pattern = @"^[A-Z]*\d+"; //前面是字母后面是数字的正则表达式:
string input = textEdit1.Text.Trim();
\D:非数字字符匹配。等效于 [^0-9]。
\f:换页符匹配。等效于 \x0c 和 \cL。
\n:换行符匹配。等效于 \x0a 和 \cJ。
\r:匹配一个回车符。等效于 \x0d 和 \cM。
\s:匹配任何空白字符,包括空格、制表符、换页符等。与 [ \f\n\r\t\v] 等效。
\S:匹配任何非空白字符。与 [^ \f\n\r\t\v] 等效。
(?=pattern):执行正向预测先行搜索的子表达式,该表达式匹配处于匹配 pattern 的字符串的起始点的字符串。它是一个非捕获匹配,即不能捕获供以后使用的匹配。例如,'Windows (?=95|98|NT|2000)' 匹配“Windows 2000”中的“Windows”,但不匹配“Windows 3.1”中的“Windows”。预测先行不占用字符,即发生匹配后,下一匹配的搜索紧随上一匹配之后,而不是在组成预测先行的字符后。
\t:制表符匹配。与 \x09 和 \cI 等效。
\v:垂直制表符匹配。与 \x0b 和 \cK 等效。
\w:匹配任何字类字符,包括下划线。与“[A-Za-z0-9_]”等效。
\W:与任何非单词字符匹配。与“[^A-Za-z0-9_]”等效。
\xn:匹配 n,此处的 n 是一个十六进制转义码。十六进制转义码必须正好是两位数长。例如,“\x41”匹配“A”。“\x041”与“\x04”&“1”等效。允许在正则表达式中使用 ASCII 代码。
^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
其实[A-Za-z0-9]可以用\w来代替,只是\w还可以匹配一个下划线
[A-Za-z0-9]
x|y:匹配 x 或 y。例如,'z|food' 匹配“z”或“food”。'(z|f)ood' 匹配“zood”或“food”。
[xyz]:字符集。匹配包含的任一字符。例如,“[abc]”匹配“plain”中的“a”。
[^xyz]:反向字符集。匹配未包含的任何字符。例如,“[^abc]”匹配“plain”中的“p”。
+:一次或多次匹配前面的字符或子表达式。例如,“zo+”与“zo”和“zoo”匹配,但与“z”不匹配。+ 等效于 {1,}。
?:零次或一次匹配前面的字符或子表达式。例如,“do(es)?”匹配“do”或“does”中的“do”。? 等效于 {0,1}。
{n}:n 是非负整数。正好匹配 n 次。例如,“o{2}”与“Bob”中的“o”不匹配,但与“food”中的两个“o”匹配。
\nml:当 n 是八进制数 (0-3),m 和 l 是八进制数 (0-7) 时,匹配八进制转义码 nml。
\un:匹配 n,其中 n 是以四位十六进制数表示的 Unicode 字符。例如,\u00A9 匹配版权符号 (©)。
?:当此字符紧随任何其他限定符(*、+、?、{n}、{n,}、{n,m})之后时,匹配模式是“非贪心的”。“非贪心的”模式匹配搜索到的、尽可能短的字符串,而默认的“贪心的”模式匹配搜索到的、尽可能长的字符串。例如,在字符串“oooo”中,“o+?”只匹配单个“o”,而“o+”匹配所有“o”。
.:匹配除“\n”之外的任何单个字符。若要匹配包括“\n”在内的任意字符,请使用诸如“[\s\S]”之类的模式。
(?!pattern):执行反向预测先行搜索的子表达式,该表达式匹配不处于匹配 pattern 的字符串的起始点的搜索字符串。它是一个非捕获匹配,即不能捕获供以后使用的匹配。例如,'Windows (?!95|98|NT|2000)' 匹配“Windows 3.1”中的 “Windows”,但不匹配“Windows 2000”中的“Windows”。预测先行不占用字符,即发生匹配后,下一匹配的搜索紧随上一匹配之后,而不是在组成预测先行的字符后。
[a-z]:字符范围。匹配指定范围内的任何字符。例如,“[a-z]”匹配“a”到“z”范围内的任何小写字母。
[^a-z]:反向范围字符。匹配不在指定的范围内的任何字符。例如,“[^a-z]”匹配任何不在“a”到“z”范围内的任何字符。
\b:匹配一个字边界,即字与空格间的位置。例如,“er\b”匹配“never”中的“er”,但不匹配“verb”中的“er”。
(pattern):匹配 pattern 并捕获该匹配的子表达式。可以使用 $0…$9 属性从结果“匹配”集合中检索捕获的匹配。若要匹配括号字符 ( ),请使用“\(”或者“\)”。
(?:pattern):匹配 pattern 但不捕获该匹配的子表达式,即它是一个非捕获匹配,不存储供以后使用的匹配。这对于用“or”字符 (|) 组合模式部件的情况很有用。例如,'industr(?:y|ies) 是比 'industry|industries' 更经济的表达式。
\B:非字边界匹配。“er\B”匹配“verb”中的“er”,但不匹配“never”中的“er”。
\cx:匹配 x 指示的控制字符。例如,\cM 匹配 Control-M 或回车符。x 的值必须在 A-Z 或 a-z 之间。如果不是这样,则假定 c 就是“c”字符本身。
\d:数字字符匹配。等效于 [0-9]。
else
{
MessageBox.Show("false");
}
字符:说明
\:将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,“n”匹配字符“n”。“\n”匹配换行符。序列“\\”匹配“\”,“\(”匹配“(”。
1、限制输入框 只能输入0到10位整数和0到2位小数的正数字表达式:
\d{1,8}(\R.\d{0,2})? :如果没有问号,小数点就一定有;
MaskType = RegEx, EditMask = '\d+(\R.\d{0,2})?'
2、
winform可输入正负数,带2位小数点
Regex regex = new Regex(pattern);
if (regex.IsMatch(input))
{
MessageBox.Show("true");
}
^:匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性,^ 还会与“\n”或“\r”之后的位置匹配。
$:匹配输入字符串结尾的位置。如果设置了 RegExp 对象的 Multiline 属性,$ 还会与“\n”或“\r”之前的位置匹配。
*:零次或多次匹配前面的字符或子表达式。例如,zo* 匹配“z”和“。* 等效于 {0,}。
-?\d+(\.\d+)?(,-?\d+(\.\d+)?)*,?$
(((\d{11})|(\d+-?\d+)),?)+
[a-z0-9]*
前面是字母后面是数字的正则表达式:
相关文档
最新文档