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

如题所述

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-30

解答:

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

用法:

他大多用在:.*?a

解释:

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

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

简介:

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

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

本回答被网友采纳
第2个回答  推荐于2017-11-25
点 是任意字符
* 是取 0 至 无限长度
问号 是非贪婪模式。
何在一起就是 取尽量少的任意字符,一般不会这么单独写,他大多用在:
.*?a

就是取前面任意长度的字符,到底一个 a 出现,匹配如下
q@wer_qwerqweraljlkjlkjlkj
得到:q@wer_qwerqwera 这部分,如果匹配不到后面的 a 字符,则匹配为空。本回答被提问者和网友采纳
第3个回答  2013-05-31
.是除了\n的任意字符
*是取之前字符的0个或者n个
?是去之前字符的0个或者1个;也可以解释为非贪婪模式

这三个组合在一起的含义就是 :0个或者任意个不是\n的任意字符(非贪婪模式,发现一个就立即匹配结束)
相似回答