小编tkr*_*use的帖子

对Java正则表达式中的Matcher组感到困惑

我有以下几行,

typeName="ABC:xxxxx;";
Run Code Online (Sandbox Code Playgroud)

我需要取这个词ABC,

我写了以下代码片段,

Pattern pattern4=Pattern.compile("(.*):");
matcher=pattern4.matcher(typeName);

String nameStr="";
if(matcher.find())
{
    nameStr=matcher.group(1);

}
Run Code Online (Sandbox Code Playgroud)

所以,如果我把group(0)我弄,ABC:但如果我把group(1)ABC,所以我想知道

  1. 这是什么01意味着什么呢?如果有人能用好的例子来解释我会更好.

  2. 正则表达式模式中包含一个:,所以为什么group(1)结果省略了?第1组是否检测到括号内的所有单词?

  3. 所以,如果我再添加两个括号,如\\s*(\d*)(.*):,那么,会有两个组吗?group(1)将返回(\d*)零件并group(2)返回(.*)零件?

代码片段的目的是为了清除我的困惑.这不是我正在处理的代码.上面给出的代码可以用String.split()更简单的方式完成.

java regex

109
推荐指数
3
解决办法
11万
查看次数

Mockito:doAnswer Vs然后返回

我正在使用Mockito进行后期单元测试.我很困惑,当使用doAnswerVS thenReturn.

任何人都可以帮我详细吗?到目前为止,我已经尝试过了thenReturn.

java mockito

101
推荐指数
3
解决办法
9万
查看次数

如何在Spring Boot中为所有控制器指定前缀?

我有控制器映射到/user/order:

@RestController
@RequestMapping("/users")
public class UserController {
    ...
}

@RestController
@RequestMapping("/orders")
public class OrderController {
    ...
}
Run Code Online (Sandbox Code Playgroud)

我想分别通过URL访问这些http://localhost:8080/api/usershttp://localhost:8080/api/orders.

我如何在Spring Boot中实现这一目标?

java spring spring-boot

50
推荐指数
6
解决办法
5万
查看次数

如何将单引号转换为双引号为单引号

以下是适合此描述的命令行示例:

curl  http://dumbdomain.com/solr/collection2/update/json -H
'Content-type:application/json' -d ' { "add": { "doc": { "uid":
"79729", "text" : "I''ve got your number"} } }'
Run Code Online (Sandbox Code Playgroud)

我已经尝试了''(没有转义),url编码(在另一端没有urldecoded!)和''(引用消失!),没有成功.

json curl

30
推荐指数
3
解决办法
4万
查看次数

为什么try-with-resources catch块选择性地可选?

我读到catchtry-with-resources 中的块是可选的.我尝试Connection在try-with-resources块中创建一个对象,没有后续catch块,只是为了从eclipse中获取编译器错误:" SQLException自动close()调用引发的未处理异常类型."

由于可以在try-with-resources中使用的每个资源都实现AutoCloseable,因此在调用close()方法时可能抛出异常,我不明白该catch子句是如何可选的,因为它不允许我跳过捕获异常close().

是否有一些特殊要求,具体实现AutoCloseable不直接声明其close()方法中抛出的任何异常?(如覆盖AutoCloseableclose() throws Exception一个close()不抛出任何异常)?

..或者这可能只是一个日食问题?

编辑:这是仍然触发问题的最简单的代码片段:

try (Connection con = dataSource.getConnection()) {
  /*...*/

}
Run Code Online (Sandbox Code Playgroud)

关于这是否与使用JNDI数据源有关的想法?

提前致谢.

java try-with-resources autocloseable

27
推荐指数
1
解决办法
2万
查看次数

Git - 当我提交时,颜色是否意味着什么?

我在Windows上使用Git Bash,当我运行时git commit,vi编辑器打开,允许我编写一个Commit note.我注意到我写的文本的第一行是黄色的(尽管不是全部,只有前30或40个字符),第二行是红色背景上的白色,而从第3行开始是灰色.这种颜色编码是什么意思,还是只是某种奇怪的故障?我来自SVN背景,其中提交评论是纯文本,我没想到这个"彩虹".:)

提前谢谢你的答案.

git vi syntax-highlighting commit

26
推荐指数
1
解决办法
4356
查看次数

git:重写历史记录:重新排序和合并提交

现在的情况:

origin/mybranch --- A1 --- B1 --- A2 --- B2 --- A3 --- B3   mybranch
Run Code Online (Sandbox Code Playgroud)

我想清理那段历史(A1到B3),尤其是 因为我还没有把它推到任何地方,因为我想准备一个只有那些B*的补丁.

我想要的是:

origin/mybranch --- A1+A2+A3 --- B1+B2+B3   mybranch
Run Code Online (Sandbox Code Playgroud)

我可能根本不会推动这个(或者如果我愿意的话,只有总和的B*,我必须删除A*提交)并且当我在这方面进一步工作时,我可能会得到额外的这样的提交,即像这样:

origin/mybranch --- A1+A2+A3 --- B1+B2+B3 --- A4 --- B4   mybranch
Run Code Online (Sandbox Code Playgroud)

我想再次像上面那样改写它.

我不只是想知道任何方法来做到这一点(因为我能够以某种有点hacky的方式得到某种方式),我,尤其是.在这里要求正确/最好/最干净/最简单的方法来做到这一点.


我在做什么esp.是:我正在处理官方的xorg-xserver-1.7分支,并希望准备一个补丁(B*).因为我希望能够用系统替换我的自编译的xserver以进行简单的测试,所以我已经应用了一堆Debian/Ubuntu补丁(A*).但是,当我要在某处发布该补丁时,我想排除这些.

git rebase

25
推荐指数
1
解决办法
5084
查看次数

什么是JUnit @Before和@Test

在java中使用Junit @Before@Test注释有什么用?如何在netbeans中使用它们?

java junit annotations

23
推荐指数
2
解决办法
8万
查看次数

如何压缩两个Java列表

我有2个列表:

List<String> subjectArr = Arrays.asList<String>("aa", "bb", "cc");
List<Long> numArr = Arrays.asList<Long>(2L, 6L, 4L);
Run Code Online (Sandbox Code Playgroud)

如何创建新的List和拉链两个列表?

List<?> subjectNumArr = zip(subjectArr, numArr);
// subjectNumArr == [{'aa',2},{'bb',6},{'cc',4}]
Run Code Online (Sandbox Code Playgroud)

java arraylist

21
推荐指数
5
解决办法
2万
查看次数

Spring启动为嵌入式服务器配置自定义jsessionid

我想配置我的servlet上下文,例如设置自定义jsessionId键(请参阅更改cookie JSESSIONID名称)

我相信我可以使用SpringBootServletInitializer运行WAR文件时,操纵servletContextonStartup().但是,当我在嵌入式应用程序服务器上运行时 new SpringApplicationBuilder().run(),我不知道操作servlet上下文的最佳位置.

java jsessionid spring-boot

20
推荐指数
2
解决办法
2万
查看次数