nayoo 发表于 2021-6-20 15:00:45

wintin的通配符可以限制某个%n匹配的字符数量么?

本帖最后由 nayoo 于 2021-6-20 03:09 PM 编辑

在做机器人的时候遇到麻烦,部分内容赋值出错,举例如下:%s%+:+%*%s%+:+%*$
想匹配的是内容如下:
   体力:+98%   内力:+95%
这样%2就会包含前面的空格变成"   体力",%4就更离谱了,变成"98%   内力",试过把%2和%4改成%+不行
我猜是%s被忽略了还是怎的?如果是被忽略额可以限制%s至少匹配一个空格么?类似%s{1,5}就匹配1到5个空格这样
请指教。

nrm 发表于 2021-6-20 15:15:38

这个客户端没用过,请耗子来回答。

xgg 发表于 2021-6-20 15:37:26

如果要匹配 1 个数字,请使用 %+1d,如果要匹配 3-5 个空格使用 %+3..5s,如果你想在 0-1 个字母之间匹配使用 %+0..1w。

匹配项将自动存储到 %1 和 %99 之间的值。从 %1 开始,每个正则表达式递增 1。

如果您使用 %15 作为正则表达式,下一个未编号的正则表达式将是 %16。

要防止存储匹配项,请使用 %!*、%!w 等。

nayoo 发表于 2021-6-20 16:28:42

xgg 发表于 2021-6-20 03:37 PM
如果要匹配 1 个数字,请使用 %+1d,如果要匹配 3-5 个空格使用 %+3..5s,如果你想在 0-1 个字母之间匹配使 ...

补充问一下,一个中文字算2个字符还是3个字符?

xgg 发表于 2021-6-20 17:49:02

nayoo 发表于 2021-6-20 04:28 PM
补充问一下,一个中文字算2个字符还是3个字符?

看语义,utf8下一个汉字算一个字符。

nayoo 发表于 2021-6-20 19:01:35

xgg 发表于 2021-6-20 05:49 PM
看语义,utf8下一个汉字算一个字符。

多谢

nayoo 发表于 2021-6-20 19:05:12

本帖最后由 nayoo 于 2021-6-21 11:38 PM 编辑

已删

nayoo 发表于 2021-6-20 19:18:04

nayoo 发表于 2021-6-20 07:05 PM
再请教一下,图中的7002这个编号怎么抓都不对,用%1%*%d %+获取的都不对,#sh出来都是150*27
跪了 ...

仔细看了下好像是表格
页: [1]
查看完整版本: wintin的通配符可以限制某个%n匹配的字符数量么?