正则表达式中“.*?”代表什么?

作者&投稿:充义 (若有异议请与网页底部的电邮联系)
正则表达式中的 .*? 或 .*+ 是什么意思?~

一、*表示匹配前面的字符0个或多个
二、+表示前面的字符1个或多个
三、?表示放在其他字符后面表示前面的字符可以有,也可以没有,或者放在*、+后面表示匹配尽可能少的字符
例如:字符串fooooo,正则fo*和fo+会匹配整个字符串,
fo+? 匹配fo,
fo*? 匹配f
四、*+没有这样的用法,除非是匹配星号本身,即: \*+ 表示一个或多个星号

扩展资料:
正则表达式符号
\:
将下一个字符标记符、或一个向后引用、或一个八进制转义符。例如,“\
”匹配
。“
”匹配换行符。序列“\\”匹配“\”而“\(”则匹配“(”。即相当于多种编程语言中都有的“转义字符”的概念。
^:
匹配输入字行首。如果设置了RegExp对象的Multiline属性,^也匹配“
”或“”之后的位置。
$:
匹配输入行尾。如果设置了RegExp对象的Multiline属性,$也匹配“
”或“”之前的位置。
参考资料来源:百度百科-正则表达式

解答:

点代表的是任意字符。
* 代表的是取 0 至 无限长度
问号代表的是非贪婪模式。
三个链接在一起是取尽量少的任意字符,一般不会这么单独写。

用法:

他大多用在:.*?a

解释:

就是取前面任意长度的字符,到底一个 a 出现,匹配如下q@wer_qwerqweraljlkjlkjlkj,

得到:q@wer_qwerqwera  这部分,如果匹配不到后面的 a 字符,则匹配为空。



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

它是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,模式描述在搜索文本时要匹配的一个或多个字符串。

扩展资料:

正则表达式的特点是:

1. 灵活性、逻辑性和功能性非常强;

2. 可以迅速地用极简单的方式达到字符串的复杂控制。

3. 对于刚接触的人来说,比较晦涩难懂。

由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。

参考资料:正则表达式-百度百科



正则表达式,又称规则表达式。是计算机科学的一个概念。

正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。

正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。


扩展资料

正则表达式的作用:

1、匹配

检查字符串是否符合正则表达式中的规则,有一次不匹配,则返回false。如:

String str="abc";

String reg="[a-zA-Z]\\d?";//次表达式表示字符串的第一位只能是字母,第二位只能是数字或没有boolean flag=str.matches(reg);//返回结果为true。

2、切割

所谓切割,即是按一定的规则将字符串分割成多个子字符串,如:

String str="zhangsan,lishi,wangwu"。

String reg=",";//表示以逗号作为切割符。

String[] arr=str.split(reg);//返回结果为{“zhangsan”,"lisi","wangwu}。

3、替换

即将字符串中符合规则的字符替换成指定字符,如:

String str="sfhjhfh136hjasdf73466247fsjha8437482jfjsfh746376"。

str.replaceAll("\\d{3,}","#");//表示将连续出现三个或三个以上的数字替换成“#”。

参考资料来源:百度百科-正则表达式



正则表达式,又称规则表达式,计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

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

正则表达式应用——替换指定内容到行尾:

原始文本如下面两行

abc aaaaa

123 abc 444

希望每次遇到“abc”,则替换“abc”以及其后到行尾的内容为“abc efg”

即上面的文本最终替换为:

abc efg

123 abc efg

解决:

1、在替换对话框,查找内容里输入“abc.*”,替换内容输入为“abc efg”。

2、同时勾选“正则表达式”复选框,然后点击“全部替换”按钮。

其中,符号的含义如下:

“.” =匹配任意字符

“*” =匹配0次或更多

注意:其实就是正则表达式替换,这里只是把一些曾经提出的问题加以整理,单纯从正则表达式本身来说,就可以引申出成千上万种特例。

扩展资料:

正则表达式的特点是:

1、灵活性、逻辑性和功能性非常强。

2、可以迅速地用极简单的方式达到字符串的复杂控制。

3、对于刚接触的人来说,比较晦涩难懂。

4、由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。

参考资料:百度百科—正则表达式



正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。

正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。

扩展资料

正则表达式应用——实例应用

1.验证用户名和密码:("^[a-zA-Z]\w{5,15}$")正确格式:"[A-Z][a-z]_[0-9]"组成,并且第一个字必须为字母6~16位;

2.验证电话号码:("^(\d{3,4}-)\d{7,8}$")正确格式:xxx/xxxx-xxxxxxx/xxxxxxxx;

3.验证手机号码:"^1[3|4|5|7|8][0-9]{9}$";

4.验证身份证号(15位):"\d{14}[[0-9],0-9xX]",(18位):"\d{17}(\d|X|x)";

5.验证Email地址:("^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$");

6.只能输入由数字和26个英文字母组成的字符串:("^[A-Za-z0-9]+$");

7.整数或者小数:^[0-9]+([.][0-9]+){0,1}$

8.只能输入数字:"^[0-9]*$"。

9.只能输入n位的数字:"^\d{n}$"。

参考资料:

百度百科-正则表达式




C语言中,问号表示什么意思?
?用来判断条件的真假,:用来根据判断结果决定取值。如(a<b)?a:b"是一个"条件表达式",如果a

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

正则表达式里的?:是啥意思例如(?:a|b)
\\b匹配单词的开始 (\\w+)匹配单词并存储一份单词 当后面有反向引用时 则可以调用这个存储的单词 \\b匹配单词的结束 \\s+一个或多个空格 \\1这个是反向引用 引用前面括号里存储的单词 也就是 \\w+ \\b单词结束 了解了前面的 这时如果把?:加进去 \\b(?:\\w+)\\b\\s+\\1\\b 这个表达式就无效了...

正则表达式 "^+$"是什么意思
正则表达式由一些普通字符和一些元字符组成。普通字符包括大小写的字母和数字,而元字符则具有特殊的含义,我们下面会给予解释。在最简单的情况下,一个正则表达式看上去就是一个普通的查找串。例如,正则表达式“testing”中没有包含任何元字符,它可以匹配“testing”和“testing123”等字符串,但是不能匹配...

c++中的?是什么意思.还有:是啥
C++中的“?”是三目条件运算符之一的表达式一(?:)"?"运算符的含义是:先求表达式1的值,如果为真,则执行表达式2,并返回表达式2的结果;如果表达式1的值为假,则执行表达式3,并返回表达式3的结果。“:”用法1表示机构内位域的定义(即该变量占几个bit空间),用法2是构造函数后加冒号是初始...

在正则表达式中\\\\.和.有什么区别?
在 Java 中,\\\\ 表示:我要插入一个正则表达式的反斜线,所以其后的字符具有特殊的意义。\\\\中的第一个\\表示java的转义字符\\由编译器解析,第二个\\是正则表达式\\由正则表达式引擎解析。所以,在其他的语言中(如Perl),一个反斜杠 \\ 就足以具有转义的作用,而在 Java 中正则表达式中则需要有两个...

正则(?:[+-]?(?:[0-9]+))中的 ?:是什么意思
正则表达式中可以使用 ASCII 编码。.\\num匹配num,其中 num 是一个正整数。对所获取的匹配的引用。例如,'(.)' 匹配两个连续的相同字符。\\n标识一个八进制转义值或一个后向引用。如果 \\n 之前至少 n 个获取的子表达式,则 n 为后向引用。否则,如果 n 为八进制数字 (0-7),则 n 为一个八进制转义值。\\...

C语言?和:操作符怎么用
C语言?和:是三目运算符,也叫三元运算符。语法:表达式1 ? 表达式2 : 表达式3;函数:先执行表达式1,执行完毕,如果表达式1的结果为真,则执行表达式2,整个表达式的结果就是表达式2的结果,否则执行表达式3,结果是表达式3的结果。例如:int res=1?10:20;可以简单理解为表达式1成立吗?成立执行...

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

在vf中有两类通配符,"*."?和"%._",请问两者有何异同,如何使用?谢谢!
可匹配零个或多个字符,比如sele * from a where c=3 (从a表中查询c=3的所有纪录)?是不知文件名是使用,比如打开一个表,使用use ?就会显示打开对话框 % 是sql查询里特有的通配符,主要用在like 语句后,可统配多个字符,相对还有_ 统配一个字符 ...

腾冲县15099858205: 正则表达式中的 *?或 *+ 是什么意思 -
玉音菲克: *——表示匹配前面的字符0个或多个 +——表示前面的字符1个或多个 ?——(1)放在其他字符后面表示前面的字符可以有,也可以没有 (2)放在*、+后面表示匹配尽可能少的字符 例如:字符串fooooo,正则fo*和fo+会匹配整个字符串, fo+? 匹配fo, fo*? 匹配f *+没有这样的用法,除非是匹配星号本身,即: \*+ 表示一个或多个星号

腾冲县15099858205: 正则表达式中.*是什么意思 -
玉音菲克: *是通配符的一种,表示任意多个字符,.*则表示后缀名为任意的文件即所有文件. 希望可以帮到您.

腾冲县15099858205: 正则里的(.*?)是什么意思 -
玉音菲克: . 是任意字符 可以匹配任何单个字符,例子:正则表达式r.t 可以匹配这些字符串:rat、rut、r t,但是不匹配root. .*? 表示匹配任意字符到下一个符合条件的字符 例子:正则表达式a.*?xxx 可以匹配 abxxx axxxxx abbbbbxxx 扩展资料:* 匹配0或多...

腾冲县15099858205: 正则表达式中 .*? 代表什么? -
玉音菲克: 点 是任意字符* 是取 0 至 无限长度 问号 是非贪婪模式.何在一起就是 取尽量少的任意字符,一般不会这么单独写,他大多用在:.*?a 就是取前面任意长度的字符,到底一个 a 出现,匹配如下 q@wer_qwerqweraljlkjlkjlkj 得到:q@wer_qwerqwera 这部分,如果匹配不到后面的 a 字符,则匹配为空.

腾冲县15099858205: python 正则表达式.*? 是什么意思 详细解释 -
玉音菲克: 分开来说: 1、. 匹配任意除换行符“\n”外的字符; 2、*表示匹配前一个字符0次或无限次;3、+或*后跟?表示非贪婪匹配,即尽可能少的匹配,如*?重复任意次,但尽可能少重复; 4、 .*? 表示匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最少的重复. 如:a.*?b匹配最短的,以a开始,以b结束的字符串.如果把它应用于aabab的话,它会匹配aab和ab.

腾冲县15099858205: 正则表达式 .*? 是什么意思啊? -
玉音菲克: 表达式 .* 就是单个字符匹配任意次,即贪婪匹配. 表达式 .*? 是满足条件的情况只匹配一次,即最小匹配. 举例介绍: 如:<img src="test.jpg" width="60px" height="80px"/> 懒惰模式正则: src=".*?" 结果:src="test.jpg" 扩展资...

腾冲县15099858205: 正则表达式中单独使用一个星号(*)表示什么意思 -
玉音菲克: *表示所有的,即一切都可匹配上. sed '/^*$/d' test^表示开头处, $表示结尾处, 二者合在一起'/^*$/d' 表示所有都在其范围内 ''表示界定范围,便于你引用.^*$表示一年所有的字符串,包括空

腾冲县15099858205: python正则表达式中.*是什么意思 -
玉音菲克: .表示任意字符,*表示重复0至多次,.*表示任意字符出现0到多次

腾冲县15099858205: php 正则表达式中的 .*? 表示什么意思? -
玉音菲克: 是非贪婪模式 .*会匹配后面的一切字符,就是到结束的意思 加?后就是不贪婪模式,这时要看?后边的字符是什么了,如.*?"的意思是遇到双引号则匹配结束

腾冲县15099858205: 正则表达式中的 .*表示空和所有字符? -
玉音菲克: .表示任意字符.*点重复多次,这个多次中,可以是任意字符的组合,当然也可以表示一个单词

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