首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >元字符\B匹配(OCP考试)

元字符\B匹配(OCP考试)
EN

Stack Overflow用户
提问于 2015-07-25 18:28:05
回答 1查看 240关注 0票数 8

我正在学习Java OCP证书。我正在参加模拟考试。

示例程序:

代码语言:javascript
复制
public class Quetico {
    public static void main(String[] args) {
        Pattern p = Pattern.compile(args[0]);
        Matcher m = p.matcher(args[1]);
        while (m.find()) {
            System.out.println(m.start() + " ");
        }
        System.out.println("");
    }
}

OCA/OCP Jave SE 7研究指南的作者认为执行:

代码语言:javascript
复制
java Quetico "\B" "^23 *$76 bc"

将产生输出

代码语言:javascript
复制
0 2 4 8

但是,当我从Eclipse或在外部源上测试它运行代码时,

代码语言:javascript
复制
0 2 4 5 7 10

我是在这里漏掉了什么,还是学习指南的作者弄错了?

我正在增加以下书中的实际问题,以供参考。

书中的问题

回答

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-25 19:48:06

这本书是正确的(当用通常的shell在Unix机器上执行时)。它是shell行为和java的结合(在我看来,这是Java课程之外的主题)。记住,shell中的"$“表示替换。因此,如果您将该程序称为:

代码语言:javascript
复制
java Quetico "\B" "^23 *$76 bc"

在regex上匹配的字符串是(您可以为args1添加println来验证它):

代码语言:javascript
复制
^23 *6 bc

书"0 2 4 8“给出的结果。

您可以将结果与以下内容进行比较:

代码语言:javascript
复制
java Quetico "\B" '^23 *$76 bc'

禁用外壳替换。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31629761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档