查看: 1369|回复: 14

[有事请教] 请教个正则表达式写法

[复制链接]
梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2025-8-9 11:52:33 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
有字符串格式 "XXXXXB啊啊_XXXXX"

我想要匹配 B后面, _前面的字符(红色啊啊), 字符数量不定, 只会是汉字

此外, 目标字符后面会有三种情况
1,直接结束的情况------------"XXXXB啊啊啊"
2,后面带有_+字符串--------"XXXXXB啊啊啊_XXXXX"
3,后面带有※+字符串-------"XXXXB啊啊啊啊※XXXXX"

请问, 如何用一个表达式, 能同时匹配以上三种情况中 啊啊啊 这部分的字符呢?

尝试过失败的解法

=~ /B(\w+)[※_]*/       #这样写会把 B后面所有字符全部匹配出来

=~ /B(\w+?)[※_]*/       #这样写只会匹配B后面第一个字

=~ /B(\w+)[※_]/       #这样写, 直接结束的情况下无法匹配

=~ /B(\w+)[※_\$]/  
=~ /B(\w+)[※_$]/
=~ /B(\w+)[$※_]/     #这样写都不能成功匹配第一种情况
梦石
0
星屑
29896
在线时间
5733 小时
注册时间
2016-3-8
回帖
1653
发表于 2025-8-9 12:36:03 | 显示全部楼层
/B(\W+)(?:$|_|※)/
汉字是大写W吧,小写w是数字字母

点评

大写是"\w之外", 你这种写法, 也一样会把 B后面的全部匹配出来  发表于 2025-8-9 15:41
回复

使用道具 举报

梦石
0
星屑
3257
在线时间
170 小时
注册时间
2020-11-16
回帖
85
发表于 2025-8-9 14:39:49 | 显示全部楼层
直接问ai,稳的一批

点评

现在的AI只能一个一个问, 三个一起要求,它就要你换个话题啦, 摊手  发表于 2025-8-9 15:42
回复

使用道具 举报

梦石
0
星屑
29896
在线时间
5733 小时
注册时间
2016-3-8
回帖
1653
发表于 2025-8-9 15:48:16 | 显示全部楼层
alexncf125 发表于 2025-8-9 12:36
/B(\W+)(?:$|_|※)/
汉字是大写W吧,小写w是数字字母


会把 B后面的全部匹配出来? 没有吧?
123.png
回复

使用道具 举报

梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
 楼主| 发表于 2025-8-9 16:01:10 | 显示全部楼层
alexncf125 发表于 2025-8-9 15:48
会把 B后面的全部匹配出来? 没有吧?

未标题-1.jpg
XP这个老古板就会

点评

没辙, 换个写法吧, 感谢给方法  发表于 2025-8-9 17:48
抱歉~我不道了~  发表于 2025-8-9 17:34
回复

使用道具 举报

梦石
2
星屑
1066
在线时间
370 小时
注册时间
2015-2-2
回帖
126

超评测优秀

发表于 2025-8-9 16:09:28 | 显示全部楼层
ChatGPT,请

点评

像4楼给的答案, 新版本ruby可行, 但是XP的RGSS1就是无效, AI可不会考虑你的XP版本来给你答案, 摊手  发表于 2025-8-9 16:17
目前让AI写ruby代码不好用,因为大数据样本过少,尤其是XP这种"20年前的语言版本", 而且它也没办法理解太多条件  发表于 2025-8-9 16:14
回复

使用道具 举报

老黄鸡

梦石
4
星屑
45692
在线时间
7947 小时
注册时间
2009-7-6
回帖
13335

MZ评测员RM创作大赛01组委会开拓者贵宾

发表于 2025-8-9 18:52:47 | 显示全部楼层
[pre lang="ruby"]a = "XXXXXB啊啊_sadfsdf"
a[/B([^_※]+)/]
p $1[/pre]

杀

点评

这招妙, 匹配以外的字符  发表于 2025-8-10 13:23

评分

参与人数 1赞 +1 收起 理由
灯笼菜刀王 + 1 竟然是^不是$.....

查看全部评分

RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 2 0

使用道具 举报

梦石
0
星屑
2018
在线时间
96 小时
注册时间
2023-3-12
回帖
68
发表于 2025-8-9 19:07:19 | 显示全部楼层
B([\u4e00-\u9fa5]+)
\u4e00-\u9fa5指的是绝大多数简体繁体中文
云书3群:522125372
欢迎加群学习~
回复 0 2

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部