小编lem*_*han的帖子

String的matches()方法的奇怪行为

我遇到了一个关于String的匹配(RegExp)方法的有趣问题.

assertTrue("33CCFF".matches("[0-9A-Za-z]{6}"));
assertTrue("CC33FF".matches("[0-9A-Za-z]{6}"));
assertTrue("CC3355".matches("[0-9A-Za-z]{6}"));
assertTrue("CC9955".matches("[0-9A-Za-z]{6}"));
assertTrue("CC3366".matches("[0-9A-Za-z]{6}"));
assertTrue("CC3965".matches("[0-9A-Za-z]{6}"));
assertTrue("CC1961".matches("[0-9A-Za-z]{6}"));
assertTrue("CC9999".matches("[0-9A-Za-z]{6}"));
assertTrue("??3966".matches("[0-9A-Za-z]{6}")); // failing
assertTrue("??9965".matches("[0-9A-Za-z]{6}")); // failing
assertTrue("??9966".matches("[0-9A-Za-z]{6}")); // failing
Run Code Online (Sandbox Code Playgroud)

最后3个断言意外失败.我找不到为什么会发生这种奇怪的行为的原因.你有同样的问题吗?你有什么想法?

顺便说一下,如果被问到,我的java版本如下.

java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)
Run Code Online (Sandbox Code Playgroud)

java regex string

8
推荐指数
1
解决办法
514
查看次数

Git日志图显示每个分支的提交在一个地方

我在StackOverflow和Google中搜索但找不到确切的答案,所以我想问一个单独的问题.

通常我们可以通过git log获取提交图.我使用以下命令以一种奇特的方式查看提交图.

git log --graph --all --pretty=format:'%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
Run Code Online (Sandbox Code Playgroud)

我得到的图表如下:

命令结果

在日志图中,您可以看到所有分支的指针,但是无法查看最初在哪个分支中创建的提交.

但在Atlassian Fisheye中,日志图中的列显示了分支,而提交位于这些列中.您可以知道每个提交的分支.当您想要在合并和不同分支的提交期间跟踪问题时,这非常有用.

在此输入图像描述

有没有办法在命令行中有这样的日志图?是否可以像Fisheye一样用分支分隔图形线?如果无法在命令行中使用它,您是否知道任何具有"逐个分支"功能的客户端应用程序,如Fisheye所做的那样?

git graph git-log git-branch

5
推荐指数
1
解决办法
1115
查看次数

标签 统计

git ×1

git-branch ×1

git-log ×1

graph ×1

java ×1

regex ×1

string ×1