咔叽游戏

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 437|回复: 0

[正则表达式] 正则表达式中的 .*? 或 .*+ 的意思

[复制链接]
  • TA的每日心情
    无聊
    2019-6-2 14:11
  • 签到天数: 4 天

    [LV.2]圆转纯熟

    发表于 2020-7-2 07:50:08 | 显示全部楼层 |阅读模式
    正则表达式简介
    正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
    许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。
    这篇文章重点给大家介绍正则表达式中的 .*? 或 .*+ 的意思 ,具体内容如下所示:
    最近要做一个提取文字特殊内容的工具,老是不会写正则表达,经常遇到.*? 或 .*+ 这些符号,网上查查,终于知道什么意思了,记录一下网上解释结果:
    后边多一个?表示懒惰模式。
    必须跟在*或者+后边用
    如:<img src="test.jpg" width="60px" height="80px"/>
    如果用正则匹配src中内容非懒惰模式匹配
    src=".*"
    匹配结果是:src="test.jpg" width="60px" height="80px"
    意思是从="往后匹配,直到最后一个"匹配结束
    懒惰模式正则:
    src=".*?"
    结果:src="test.jpg"
    因为匹配到第一个"就结束了一次匹配。不会继续向后匹配。因为他懒惰嘛。
    .表示除\n之外的任意字符
    *表示匹配0-无穷
    +表示匹配1-无穷
    去掉括号实例

    <span style="font-size:14px;">public class Test {
    public static void main(String[] args) {
            String s = "图片(img=32,34)http://www.sds.com/jpg(/img)
    图片(img=32,34)http://www.sds.com/jpg(/img)";
            System.out.println(s.replaceAll("\\[.+?\\]",""));
    }
    }</span>结果:
    图片http://www.sds.com/jpg图片http://www.sds.com/jpg
    总结
    到此这篇关于正则表达式中的 .*? 或 .*+ 的意思 的文章就介绍到这了,更多相关正则表达式中的 .*? .*+ 内容请搜索咔叽论坛以前的文章或继续浏览下面的相关文章希望大家以后多多支持咔叽论坛!

    原文地址:https://www.jb51.net/article/187050.htm

    QQ|免责声明|小黑屋|手机版|Archiver|咔叽游戏

    GMT+8, 2024-3-29 13:32

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表