Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我只想通过Java正则表达式找到其中的一个单词_Java_Regex - Fatal编程技术网

我只想通过Java正则表达式找到其中的一个单词

我只想通过Java正则表达式找到其中的一个单词,java,regex,Java,Regex,我有如下1K个字符串,它们保存在一个字符串数组中,我只需要粗体字,它不是常量。所以想知道什么是最好的方法 (描述摘要:EME商业(变更请求),存档:假,名称:EME商业(变更请求),唯一名称:EME商业(变更请求)(JTS哨兵Id))(isInitialized:true,internalPublic:true,InternalVisibleTommbers:false,InternalVisibleTomaccessList:false,owningApplicationKey:JTS Sen

我有如下1K个字符串,它们保存在一个字符串数组中,我只需要粗体字,它不是常量。所以想知道什么是最好的方法

(描述摘要:EME商业(变更请求),存档:假,名称:EME商业(变更请求),唯一名称:EME商业(变更请求)(JTS哨兵Id))(isInitialized:true,internalPublic:true,InternalVisibleTommbers:false,InternalVisibleTomaccessList:false,owningApplicationKey:JTS Sentinel Id,internalIsProcessProvider:false)


请帮助!

好吧,看起来您是在请求字符串“name:”后面和以下逗号之前的文本,因此您的正则表达式是
/name:([^,]+)/

更新:

我不明白你为什么要使用
.replaceAll()

当正则表达式是Java字符串文本时,不需要用斜杠来分隔它,很多人,像我一样,用斜杠在普通文本中分隔它

如果要显示用粗体标记的线段,则需要如下内容:

Pattern pattern = Pattern.compile("name: ([^,]+)");
Matcher matcher = pattern.matcher(str.toString());
if (matcher.matches()) {
    System.out.println(matcher.group(0));
    System.out.println(matcher.group(1));
}
.group(0)
返回与模式匹配的整个字符串。
.group(1)
返回与括号中第一个“捕获”组匹配的字符串,
([^,]+)
部分


为什么要在
str
上调用
.toString()
?该变量的名称表明它已经是一个字符串了。

你的问题是什么?为什么需要一个正则表达式?嗨,蒂姆,我有1K个这样的字符串保存在一个字符串数组中,我只需要'name:(在字符串后面,它不是常量)’所以我想知道什么是最好的方法。糟糕的格式和堆栈溢出充斥着类似的问题,所以,投了反对票。至于你的问题,这里是文档:哎呀!太糟糕了。我试过多次编辑。但我无能为力=(嗨,大卫,我想它有点问题。你能再检查一遍吗?是的,肯定是错了。我已经编辑过了。你可以点击“刚才”链接查看更改。Pattern replace=Pattern.compile(“/name:([^,]+)/”;Matcher Matcher=replace.Matcher(str.toString());System.out.println(Matcher.replaceAll(“\t”));你认为代码正确吗?我用它来获取整个字符串。