如何在java中捕获正则表达式
我有一个字符串,如下所示:如何在java中捕获正则表达式,java,regex,Java,Regex,我有一个字符串,如下所示: “这是代码:cd001、cd002、cd003” (我已经捕获:cd001、cd002、cd003) 但必须忽略以下字符串中的cd001、cd002、cd003 “这是代码:cd001、cd002、cd003、xxxx” 我有一个正则表达式:[^ |\\s |>]*([a-z]{2}[0-9]+\\.?)\\b (以开始字符串开始,空格,然后是两个小写字母,后面是数字,然后是[.或,或#或空格])您能重新格式化您的问题,并清楚地说明输入和预期匹配吗?我已经解决了我的问
“这是代码:cd001、cd002、cd003”
(我已经捕获:cd001、cd002、cd003)
但必须忽略以下字符串中的cd001、cd002、cd003
“这是代码:cd001、cd002、cd003、xxxx”
我有一个正则表达式:[^ |\\s |>]*([a-z]{2}[0-9]+\\.?)\\b
(以开始字符串开始,空格,然后是两个小写字母,后面是数字,然后是[.或,或#或空格])您能重新格式化您的问题,并清楚地说明输入和预期匹配吗?我已经解决了我的问题,希望它更好!为什么要忽略第二个输入?规则是什么?你们的两个输入是完全相同的……你们能不能举几个输入、预期输出和这个输出是预期的决策背后的逻辑的例子?我已经更新了这个问题,你们能看一下吗?
// parse inputString into String[] of codes
// if there are no codes in the string, codes[0] is ""
String[] codes =
// delete beginning of the line till ":" inclusive
inputString.replaceFirst("^.*: ", "").
// delete two codes that are separated by "," and
// followed by 0 or 1 "," and 1 " "
replaceAll("[a-z0-9]+,[a-z0-9]+,? ", "").
// delete trailing spaces
replaceFirst(" +$", "").
// split codes
split(", ");