正则表达式里边<.+?>什么意思

 我来答
小葵花点穴手
高粉答主

2019-11-14 · 还没有任何签名哦
小葵花点穴手
采纳数:143 获赞数:11260

向TA提问 私信TA
展开全部
八哥说科技
高粉答主

2019-09-11 · 分享科技资讯,共享科技生活
八哥说科技
采纳数:113 获赞数:78622

向TA提问 私信TA
展开全部

正则表达式里边<.+?>表示匹配:“<”开始,其后至少含有1个除了“>”的任意字符,且再遇到“>”,就结束匹配。

< 表示:匹配字符“<”。

+ 表示:匹配前面的子表达式一次或多次(大于等于1次)。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。

* 表示:匹配前面的子表达式任意次。例如,zo*能匹配“z”,也能匹配“zo”以及“zoo”。*等价于{0,}。

? 表示:匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“do”或“does”。?等价于{0,1}。

> 表示:匹配字符“>”。

例如:对“<><b>”的字符串进行正则模式<.+?>匹配,输入为:<><b>。

扩展资料:

正则表达式其它常见模式:

1、只能输入m~n位的数字:"^\d{m,n}$"。

2、只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。

3、只能输入有两位小数的正实数:"^[0-9]+(\.[0-9]{2})?$"。

4、只能输入有1~3位小数的正实数:"^[0-9]+(\.[0-9]{1,3})?$"。

5、只能输入非零的正整数:"^\+?[1-9][0-9]*$"。

6、只能输入非零的负整数:"^\-[1-9][0-9]*$"。

7、只能输入长度为3的字符:"^.{3}$"。

8、只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。

9、只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。

10、只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。

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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
againinput4
2019-12-03 · TA获得超过2407个赞
知道大有可为答主
回答量:1446
采纳率:70%
帮助的人:642万
展开全部

【简单回答】

正则表达式的本身规则解释:

  • <.+?>

    • <:最开始的普通字符 小于号

      • .+?

      • 包含2部分:

        • .+

          • . 点:表示任意字符

          • + 加号:表示一个或更多个,即 >=1

        • ? 问号:表示

          • 如果前面是单个字符,则表示0或1个,即有有或没有

          • 如果前面是连续匹配的多个字符,则表示匹配到的个数尽可能少

      • 含义解析: .+表示任何字符,个数上是 >=1,加上?表示个数尽可能的少

    • >:最末尾的普通字符 大于号


综合起来就是,去匹配这种字符串:

小于号开头的,中间是 任意字符都可以,但是个数要1个或更多个,但是要尽量少,最后以大于号结束的


网上帮你找了些容易帮你你理解和学习的东西

(1)最推荐:正则图形化

Debuggex: Online visual regex tester. JavaScript, Python, and PCRE.

https://www.debuggex.com


(2)其次推荐:正则中每一个字符都详细解释对应含义

RegExr: Learn, Build, & Test RegEx

https://regexr.com


(3)普通推荐:用高亮显示显示匹配上的内容

JavaScript正则在线测试工具 - 正则表达式工具 - 脚本之家在线工具

http://tools.jb51.net/regex/javascript



【后记】

借鉴到别人的回答,才注意到:

很明显你的正则:

<.+?>

常用于匹配:HTML源码类的文本

比如:

<div class="dl-nav"><a class="dl-nav-item item-cloud"><a class

其只能匹配

<div class="dl-nav">

如图: 

而如果不加?问号的规则:

<.+>

意思是:

<开头的,>结尾的,中间是任意字符,且尽量多的

也就说明中间字符也可能包含 >大于号了

所以可以匹配到,此处的尽量多个字符:

<div class="dl-nav"><a class="dl-nav-item item-cloud">

如图:



【详细解释】

见我专门为你写的帖子:

【问题解答】正则表达式里边<.+?>什么意思

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
四舍五不入6
高粉答主

2020-01-30 · 还没有填写任何签名哦
四舍五不入6
采纳数:27 获赞数:71371

向TA提问 私信TA
展开全部

一、*表示匹配前面的字符0个或多个

二、+表示前面的字符1个或多个

三、?表示放在其他字符后面表示前面的字符可以有,也可以没有,或者放在*、+后面表示匹配尽可能少的字符

例如:字符串fooooo,正则fo*和fo+会匹配整个字符串,

fo+? 匹配fo,

fo*? 匹配f

四、*+没有这样的用法,除非是匹配星号本身,即: \*+ 表示一个或多个星号

扩展资料:

正则表达式符号

\:

将下一个字符标记符、或一个向后引用、或一个八进制转义符。例如,“\\n”匹配\n。“\n”匹配换行符。序列“\\”匹配“\”而“\(”则匹配“(”。即相当于多种编程语言中都有的“转义字符”的概念。

^:

匹配输入字行首。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。

$:

匹配输入行尾。如果设置了RegExp对象的Multiline属性,$也匹配“\n”或“\r”之前的位置。

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

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-11-25
展开全部
.+?表示最小匹配
举例说明.+?与.+的区别
<a href="xxx"><span>
如果用<.+>匹配,则匹配结果是
<a href="xxx"><span>
如果用<.+?>匹配,则匹配结果是
<a href="xxx">
也就是.+?只要匹配就返回了,不会再接着往下找了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式