gpt4 book ai didi

java - 正则表达式模式匹配

转载 作者:太空宇宙 更新时间:2023-11-04 09:55:51 25 4
gpt4 key购买 nike

使用以下模式查找一位十六进制数 Im “0[xX][0-9a-fA-F]”并在下面的源字符串中找到它 “12 0x 0x12 0Xf 0xg”索引从 0 到 17。

输出为 0 和 11 索引。

我有一个问题,当数据在一组 3 个字母中从左到右消耗时,那么第 11 个位置匹配不应该出现,那么这是如何识别十六进制编号的第 11 个位置。

Pattern p6 = Pattern.compile("0[xX][0-9a-fA-F]");
Matcher m6 = p6.matcher("12 0x 0x12 0Xf 0xg");
while(m6.find()) { System.out.print(m6.start( ));
}

最佳答案

11 是有效十六进制的位置,例如模式匹配。当您的模式有 x 个字符时,并不意味着它只会匹配从位置 y 开始的那些字符,使得 y = 0 (mod x)。

另一方面,它们不应该重叠,因此例如模式“aaa”,只有位置 0 会与字符串“aaaaa”匹配,但对于“aaaaaa”,它将是 0 和 3。

关于java - 正则表达式模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54166913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com