String name="[COLOR dxvx]yyyy[/COLOR]"
String name="[COLOR dvvx]tttt[/COLOR]"
我需要得到的字符串YYYY是[COLOR dxvx]和之間創建正則表達式匹配[/ COLOR]怎麼能做到這一點使用正則表達式中的Java如何4個分隔符
中指出[COLOR dxvx]旁邊的顏色字也在變化
String name="[COLOR dxvx]yyyy[/COLOR]"
String name="[COLOR dvvx]tttt[/COLOR]"
我需要得到的字符串YYYY是[COLOR dxvx]和之間創建正則表達式匹配[/ COLOR]怎麼能做到這一點使用正則表達式中的Java如何4個分隔符
中指出[COLOR dxvx]旁邊的顏色字也在變化
您也可以嘗試直接匹配:
(?<=])[^]]+(?=\\[/COLOR)
實現在Java中:
public static void main(String[] args){
String[] strings = {"String name=\"[COLOR dxvx]yyyy[/COLOR]\"",
"String name=\"[COLOR dvvx]tttt[/COLOR]\""};
for(String string : strings) {
ArrayList<Integer> numbers = new ArrayList<Integer>();
Matcher matcher = Pattern.compile("(?<=])[^]]+(?=\\[/COLOR)").matcher(string);
if(matcher.find()){
System.out.println(matcher.group());
}
}
}
與輸出:
yyyy
tttt
使用捕獲組。
Matcher m = Pattern.compile("\\[COLOR\\s+dxvx\\](.*?)\\[/COLOR\\]").matcher(s);
while(m.find()) {
System.out.println(m.group(1));
}
thanx爲您的答覆。在[COLOR dxvx]旁邊,「COLOR」世界旁邊沒有定義。那也正在改變.. –
嘗試'「\\ [COLOR \\ s + \\ w + \\](。*?)\\ [/ COLOR \\]」' –
你到目前爲止做了什麼? – MBaas