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

如题所述

解答:

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

用法:

他大多用在:.*?a

解释:

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

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

简介:

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

正则表达式的“鼻祖”或许可一直追溯到科学家对人类神经系统工作原理的早期研究。通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-12-16

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

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

扩展资料:

正则表达式的特点是:

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

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

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

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

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

第2个回答  2018-12-13

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

正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在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,}","#");//表示将连续出现三个或三个以上的数字替换成“#”。

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

第3个回答  2018-12-05

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

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

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

原始文本如下面两行

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等大型编辑器,都可以使用正则表达式来处理文本内容。

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

第4个回答  2018-12-05

正则表达式,又称规则表达式。(英语: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}$"。

参考资料:

百度百科-正则表达式

正则表达式中 .*? 代表什么?
在正则表达式的世界里,符号".*"有着独特的含义。它代表的是任意字符,可以出现0次或无数次,这是一个非常灵活的模式。然而,".*?"的存在并非随意,它是一个非贪婪模式,意味着它会尽可能地取少字符,直到遇到符合后续条件的字符为止。例如,当你看到".*?a"这样的组合,它的目的是找到前面出现的...

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

正则表达式.*?是什么意思?
一、基本解释 在正则表达式中,"."代表匹配除换行符之外的任何单个字符,"*"表示匹配前面的子表达式零次或多次,"?"在这里用于控制贪婪模式与懒惰模式的选择。组合起来,".*?"的意思是懒惰模式匹配任意字符序列,即尽可能少的匹配字符。也就是说,它会尽可能早地结束匹配过程,以匹配到尽可能少的字符...

正则表达式中“.*?”代表什么?
解答:点代表的是任意字符。* 代表的是取 0 至 无限长度问号代表的是非贪婪模式。三个链接在一起是取尽量少的任意字符,一般不会这么单独写。用法:他大多用在:.*?a 解释:就是取前面任意长度的字符,到底一个 a 出现,匹配如下q@wer_qwerqweraljlkjlkjlkj,得到:q@wer_qwerqwera 这部分,...

正则表达式中“.*?”代表什么?
正则表达式中,“.*?”代表非贪婪匹配模式。详细解释如下:一、正则表达式的组成 正则表达式是一种强大的文本处理工具,它使用特定的模式来匹配字符串。在正则表达式中,“.”代表匹配除换行符之外的任何单个字符,“*”表示匹配前一个元素零次或多次。二、“.*&...

正则表达式.*??是什么?
. 代表任意字符,不包括换行符制表符空白符 代表任务数量, 0~正无穷 ?代表有或者没有,*后面的问号代表非贪婪模式匹配,尽可能的少匹配 .*? 是完整的正则表达式,后面的问号是错误的 如果想匹配问号自身,需要使用 反斜杠问号 \\?

正则表达式中的.*?或.*+是什么意思?
一、"*" 符号在正则表达式中代表匹配前面的字符零次或多次。二、"+" 符号表示前面的字符必须出现一次或多次。三、"?" 符号放在其他字符后面,表示前面的字符可以有,也可以没有。如果放在"*"或"+"后面,它就变成了非贪婪匹配,即匹配尽可能少的字符。四、"*+"" 这样的用法在正则表达式中是不存在...

正则表达式:http:\/\/\\w+\\.sina\\.com\\.cn\/.*?\\.shtml 中的.*? 代表匹配...
.*? 是正则表达式中,很常见的,用于匹配,任何0或更多个字符,但是是非贪婪模式,即 匹配0或更多个字符,但是直到第一次发现后面所匹配的内容为止。此处即:.*?\\.shtml 去匹配 xxxx.shtml 但是xxx是尽量少 举例:如果是:123.shtml.456.shtml 那么只匹配到123 而不是:123.shtml.456 更多相关...

表示任意 字符 的正则表达式 符号?
应该是 .其中,.代表任意一个字符,*代表将前面一个字符重复0到多次。例如,你要查找文件data中以an开头的所有行并显示,可以用以下命令:grep 'an.*' data | more

JS正则表达式问题(?<=\\").*?(?=\\")
左右两边代表以引号开始,和以引号结束。就是断言,分支条件而已。。不会计入结果的。中间.*?代表除换行以外的任意字符。。。引号中间有换行就不不匹配乐。vbs脚本中(?<=\\").*?(?=\\")可以只写成(?<=").*?(?=")

相似回答