正则表达式是什么?有什么用?

作者&投稿:庄榕 (若有异议请与网页底部的电邮联系)
什么是正则表达式?它有何用途?~

正则表达式是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。可以用于特征字符串的查找、输入文本的验证等。




简单的说就是,用一小段简单的各种字符的组合,即叫做 正则表达式,去实现复杂的:

字符串匹配,查找你到你所需要的内容,以便后期提取出来你所要的内容。

这个听起来很简单,但是很多现实的应用中,所要处理的字符串有千千万万种,各种复杂的字符,而且每个人的需求有无穷尽种,需要提取出的内容也是无穷多。而如果手动处理,写普通的if else语句去一点点判断字符串是否相等,则是无法实现的。

而用正则,就可以实现如此多的,繁杂的,极度复杂的,各种需求。

更多的内容,可以看看我所总结的:

正则表达式学习心得

再举几个实际的例子:

3.4. Notepad++的正则表达式替换和替换

中的:

  • Notepad++正则表达式替换举例1:一次性替换多个文件的后缀

  • Notepad++正则表达式替换举例2:一次性替换多个路径

  • Notepad++正则表达式替换举例3:一次性替换多个listitem为sect4

  • Notepad++正则表达式替换举例4:给每一行都添加AddIcon的前缀

  • Notepad++正则表达式替换举例5:给book的标题和地址添加html代码

(这里不给贴地址,请自行google搜标题,即可找到帖子地址)



正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);
2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。

简单点说,正则表达式跟平时用的字符串操作功能函数类似,但比这些函数的功能要强大的多。

举例说,你爱看某本非常之流行的小说,你想要从某个网站下载,并将这些内容分章节保存到你的计算机里,但直接下载的话,可能网页里面有很多不想要的(比如一些讨厌的广告什么的),如果要用字符串替换也可以做到,但许多广告字符串蛮狡猾滴说,老是有些小变化来着,如果每个都替换一下会累似人的,这时正则表达式就可以大有用处了,它可以通过某些规则适应这些变化,而自动删除。

比如这段代码中,你要获取所有的 网址(url)。。。。。你会怎么做???

如果有正则。就好办了。。



正则表达式用于字符串处理、表单验证等场合,实用高效!就是用符号代替一大长串的代码!这样写着简单!我给你个例子吧!
比如:匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
表单验证时很实用


正则表达式里的?:是啥意思例如(?:a|b)
这个表达式就无效了 因为(?:\\w) 这个单词虽可以被匹配但不会存储一份 后面出现的 \\1 也不会调用前面括号里的单词 所以 表达式就失效了 那么(?:)有什么用呢 再举例简单说明一下 想在一篇文章中找"program"和"project"这两个单词 正则表达式可表示为 program|project 也可表示为 pro(gram|ject)但...

正则表达式中“.*?”代表什么?
用法:他大多用在:.*?a 解释:就是取前面任意长度的字符,到底一个 a 出现,匹配如下q@wer_qwerqweraljlkjlkjlkj,得到:q@wer_qwerqwera 这部分,如果匹配不到后面的 a 字符,则匹配为空。简介:正则表达式,又称规则表达式,是计算机科学的一个概念,这个概念最初是由Unix中的工具软件普及开的...

正则表达式中 .*? 代表什么?
详情请查看视频回答

正则表达式的|是什么意思?
竖线“|”就是或的意思。意思是将两个匹配条件进行逻辑“或”(or)运算。例如正则表达式(him|her) 匹配"it belongs to him"和"it belongs to her",但是不能匹配"it belongs to them."。注意:这个元字符不是所有的软件都支持的。而最简单的元字符是点,它能够匹配任何单个字符(注意不包括换行...

正则表达式 (.*) .* 就是这2种写法,有什么却别?分别代表什么含义?_百度...
你可以对相同的后向引用组进行多次引用,<<([a-c])x\\1x\\1>>将匹配“axaxa”、“bxbxb”以及“cxcxc”。如果用数字形式引用的组没有有效的匹配,则引用到的内容简单的为空。一个后向引用不能用于它自身。<<([abc]\\1)>>是错误的。因此你不能将<<\\0>>用于一个正则表达式匹配本身,它...

正则表达式中有\\ s是什么意思?
一、两种表达方式表达意义的区别:1、\\s代表正则表达式中的一个空白字符(可能是空格、制表符、其他空白)。2、\\\\s代表字符\\和字符s,因为\\在正则中有特殊意义,所有需要转义,写成了\\\\ 。二、表达的作用的区别:1、\\s用于匹配空白字符。2、\\\\s用于匹配字符串中的\\和s,两个字符。

正则表达式里边<.+?>什么意思
详情请查看视频回答

正则表达式[^.]表示什么? 应该表示换行符,但是实际上换行符与任意字符都...
([.|\\n]*) 以及 ([\\n.]*)结果还是不行,什么内容都取不到。看来点符号和换行符卯上劲了~然后上网一查,虽然没有查出上述规则到底是什么地方出问题了,但是查出了一个解决办法,经过一试,果然可以匹配包括换行符在内的任意字符,以下为正确的正则表达式匹配规则:([\\s\\S]*)同时,也可以用 “...

正则表达式中的()[]{}这三种括号一般有什么区别?
区别:用法区别 () 是为了提取匹配的字符串。表达式中有几个()就有几个相应的匹配字符串。[]是定义匹配的字符范围。{}一般用来表示匹配的长度。具体用例 1、()(\\s*)表示连续空格的字符串。2、[][a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字,包括a到z,A到Z,0到9。[\\s*]表示...

正则表达式中,斜杠"\/" 在什么情况下需要转义?什么情况下不需要转义?
正则表达式中,斜杠 \/ 用不用转义? 斜杠如果作为匹配的一部分当然要转义了。但如果本身作为前导符如正则表达式限制符号开始结束,则不用转义。正则表达式或者 什么时候需要转义 如果你想查找元字符本身的话,比如你查找.,或者*,就出现了问题:你没办法指定它们,因为它们会被解释成别的意思。这时你就...

横县17078241869: 正则表达式是什么? -
威齿银盏: 正则表达式,又称正规表示法、常规表示法.正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串.在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本.许多程序设计语言都支持利用正则表达式进行字符串操作.例如,在Perl中就内建了一个功能强大的正则表达式引擎.正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的.

横县17078241869: 正则表达式 [^\[\]]+ 是什么意思 -
威齿银盏: 首先看\w表示匹配包括下划线的任何单词字符.等价于'[A-Za-z0-9_]'.然后跟了个_,在看*号:匹配前面的子表达式零次或多次.例如,zo* 能匹配 "z" 以及 "zoo". * 等价于{0,}. 这个表达式的意思就是把这个[\w_](任何单词字符包括下划...

横县17078241869: 什么是正则表达式,具体用途是什么,能举个实例吗? -
威齿银盏: 正则表达式实际上就是一个按照一定规则写成的字符串,比如说规定“\d“代表一位整数字符.现在我想判断一个变量是否是一位的整数字符,只需要通过方法matches("\\d")来验证就行了.public class ssica{ public static void main(String[]args){ String regex = "\\d"; System.out.print("4".matches(regex)); } } “4“是整数字符,因此应该返回true

横县17078241869: 正则表达式到底干什么用啊? -
威齿银盏: 正则表达式是用来处理字符串的,可以用一些特定字符来描述字符串里字符出现的规则,从而匹配,提取或者替换符合某一个规则的字符串.

横县17078241869: 正则表达式的主要功能是什么? -
威齿银盏: 在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容.许多程序设计语言都支持利用正则表达式进行字符串操作.例如,在Perl中就内建了一个功能强大的正则表达式引擎.正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的.正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen.

横县17078241869: 正则表达式是什么意思 -
威齿银盏: 正则表达式是搜索、替换和解析复杂字符模式的一种强大而标准的方法.如果你曾经在其他语言(如Perl)中使用过它,他们的语法非常相似,那么你仅仅阅读一下re模块的摘要,大致了解其中可用的函数和参数就可以了.字符串也有很多方法...

横县17078241869: 什么是正则表达式 -
威齿银盏: 正则表达式,就是用某种模式去匹配一类字符串的一个公式.一旦你弄懂它们,你就能把数小时辛苦而且易错的文本处理工作压缩在几分钟(甚至几秒钟)内完成. 在最简单的情况下,一个正则表达式看上去就是一个普通的查找串.例如,正则表达式"testing"中没有包含任何元字符,它可以匹配"testing"和"123testing"等字符串,但是不能匹配"Testing".

横县17078241869: 正则表达式有哪些作用?
威齿银盏: 正则表达式的作用 提供更强大的字符串处理能力 测试字符串内的模式 例如,可以测试输入字符串,以查看字符串内是否出现电话号码模式或身份证号码模式.即数据验证 替换文本 可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它. 基于模式匹配从字符串中提取子字符串 可以查找文档内或输入域内特定的文本. 在JAVA中使用正则表达式 正则表达式在字符串处理上有着强大的功能,sun在jdk1.4加入了对它的支持 jdk1.4中加入了java.util.regex包提供对正则表达式的支持.而且Java.lang.String类中的replaceAll和split函数也是调用的正则表达式来实现的.

横县17078241869: 请问正则表达式是什么意思?在网页解析中有什么作用? -
威齿银盏: 在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容.许多程序设计语言都支持利用正则表达式进行字符串操作.例如,在Perl中就内建了一个功能强大的正则表达式引擎.正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的.正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen.

横县17078241869: 正则表达式是什么?
威齿银盏: 正则表达式,就是用某种模式去匹配一类字符串的一个公式. 正则表达式由一些普通字符和一些元字符(metacharacters)组成.普通字符包括大小写的字母和数字,而元字符则具有特殊的含义 如: *表明+前的字符可以没有或者出现任意多次 +表明+前的字符至少出现一次 \s表明空格、换行、回车、tab等 ()表明一个组,group的意思 \"这里的\其实是转义符 |表明或者 \S 与\s是相反的意思,也就是除了\s以外的字符

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网