【函数】简单的 RegExMatchAll

s=
(
;︹︹
;  aaa
;1111
;︺︺
fdfdf
12312
;︹︹
;  ccc ddd
;333
;︺︺
)
re := ";︹︹([\s\S]+?);︺︺"
For k,v in arr:=RegExMatchAll(s, re)
  msgbox % "第 " k " 个匹配的第 1 个子匹配是:" v[1]

;----------------------------------
; RegExMatchAll  By FeiYue
;----------------------------------
; 返回值为所有找到的匹配的二级数组,没找到返回0
; 第一级是所有找到的匹配
; 第二级是每个找到的匹配的多个字符串构成的简单数组
;     数组[0]表示整个匹配的字符串
;     数组[N]表示第N个子模式匹配的字符串
;----------------------------------
RegExMatchAll(str, re, pos:=1)
{
  arr:=[], len:=StrLen(str)
  ; 给正则表达式re添加大欧选项O)
  re:=RegExMatch(re, "^[\w\s`a]*\)") ? "O" re : "O)" re
  While pos:=RegExMatch(str, re, Match, pos)
  {
    if (len0:=Match.Len(0))<1
    {
      pos++
      if (pos>len)
        Break
    }
    else
    {
      pos+=len0, arr2:=[]
      Loop % Floor(Match.Count())+1
        arr2[A_Index-1]:=Match[A_Index-1]
      arr.Push(arr2)
    }
  }
  return arr.Length() ? arr : 0
}

给TA捐赠
共{{data.count}}人
人已捐赠
函数

获取时间戳及时间戳转正常时间格式

2023-9-20 14:53:05

函数

AHK脚本以管理员权限自启

2024-1-22 13:16:09

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
有新私信 私信列表
搜索