zoukankan      html  css  js  c++  java
  • Lua 笔记11

    1. 捕获用法 +1,空白捕获 ()  举例,

     

       注:与find返回的结果不一致。

    2. 捕获 另一个好的示例,

     

       注:

        这个函数首先对字符串进行了制表符展开以移除其中所有的制表符,然后构造出一个用于匹 配所有 8 个字符序列的辅助模式,再利用这个模式在每 8 个字符后添加一个标记   (控制字 符\1 )。 接着,它将所有以此标记结尾的空格序列都替换为制表符。 最后,将剩下的标记删 除(即那些没有位于空格后的标记)。

     3. 运用模式开发注意:

      1. 如果目标字符串含有 模式字符。

      2. 模式匹配效率很高。但还需尽量使用精确的模式(不精确的模式比精确模式慢很多)。例子,

      模式’(.-)%$ ’ ,它用于获取字符串中第一个 $ 符号前的所有内容。 如果目标字 符串中有 $ 符号,那么这个模式工作很正常;但是,如果宇柯:串中没有 $ 符号,那么模式匹 配算法就会首先从字符串起始位置开始匹配,直至为了搜索 $ 符号而遍历完整个字符串。 当 到达字符串结尾时,这次从字符串起始位直开始的模式匹配就失败了。 之后,模式匹配算法 又从字符串的第二个位置开始第二次搜索,结果仍然是无法匹配这个模式。 这个匹配过程会在字符串的每个位置上进行一次,从而导致。O(n^2)的时间复杂度(此处拓展,模式匹配算法)。要解决这个问题,我们只需使用'^(.-)%$'将模式 锚定在字符串的开始位置即可。 这样,如果不能从起始位置开始找到匹配,搜索就会停止。

    4. 用法瞻仰:

     

     运行结果:

  • 相关阅读:
    windows_MySQL安装详解
    nginx 基本安全优化
    pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
    浏览器缓存
    JavaScript迭代
    js模块开发
    关于逻辑删除标识字段value的设定
    c#单例(Singleton)模式实现
    css兼容小问题
    IIS网站不能访问
  • 原文地址:https://www.cnblogs.com/gaara-zhang/p/13212145.html
Copyright © 2011-2022 走看看