【函数】简单的 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

函数

【函数】RegExHotstrings-让字符串具有正则功能

2024-1-15 9:07:49

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