递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 170|回复: 3
打印 上一主题 下一主题

[视窗] 正则表达式类问题

[复制链接]

1

主题

7

帖子

66

积分

注册会员

Rank: 2

积分
66
跳转到指定楼层
楼主
发表于 前天 20:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为什么 正则表达式.取子匹配数量 () 只能取出 2
  1. <火山程序 类型 = "通常" 版本 = 1 />

  2. 方法 按钮_被单击 <接收事件 类型 = 整数 注释 = "当按钮被单击后发送此事件">
  3. 参数 来源对象 <类型 = 按钮 注释 = "提供事件产生的具体来源对象">
  4. 参数 标记值 <类型 = 整数 注释 = "用户调用"挂接事件"命令时所提供的"标记值"参数值,非此方式挂接事件则本参数值固定为0.">
  5. {
  6.     如果 (来源对象 == 按钮1)
  7.     {
  8.         变量 正则表达式 <类型 = 正则表达式类>
  9.         变量 匹配内容 <类型 = 文本型>
  10.         匹配内容 = "AA11BBAA22BBAA33BBAA44BBAA55BB"
  11.         正则表达式.匹配 (匹配内容, "AA(.*?)BB", , )
  12.         计次循环 (5)
  13.         {
  14.             调试输出 ("匹配数量:" + 到文本 (正则表达式.取子匹配数量 ()), "匹配内容:" + 正则表达式.取子匹配文本 (1))
  15.             正则表达式.到下一个匹配 ()

  16.         }
  17.     }
  18.     返回 (0)
  19. }
复制代码


**图片_2025-11-05_193638_756.png (53.43 KB, 下载次数: 1)

**图片_2025-11-05_193638_756.png
回复

使用道具 举报

29

主题

2652

帖子

9287

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
9287
沙发
发表于 前天 21:44 | 只看该作者
因为它包括了整个匹配文本和括号的子匹配数量,结果基本就是括号数量+1
回复

使用道具 举报

458

主题

2844

帖子

9721

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
9721
板凳
发表于 前天 22:23 来自手机 | 只看该作者
Xelloss0618 发表于 2025-11-5 21:44
因为它包括了整个匹配文本和括号的子匹配数量,结果基本就是括号数量+1

这种匹配逻辑误导人,不合理,全部匹配文本不应该列入子匹配
回复

使用道具 举报

41

主题

729

帖子

3838

积分

论坛元老

Rank: 8Rank: 8

积分
3838
地板
发表于 昨天 07:36 | 只看该作者
嗯,很跳跃!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2025-11-7 23:32 , Processed in 0.078576 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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