如何使用模式或匹配器替换字符串中的模式?

时间:2019-02-18 06:59:06

标签: java android string

我有一个类似

的字符串
  

“你好@ [--- 68 ---]和@ [--- 64 ---]和d @ [--- 102 ---]。你好吗   全部吗?”

在这里,我要提取以“ @ [--- ”开头和以“ ---] 结尾的数字/字符串“,这里是68,64,102,依此类推。

如何为它制作图案/正则表达式?任何帮助,将不胜感激。 我尝试了PatternMatcher

的一些解决方案

2 个答案:

答案 0 :(得分:1)

尝试一下:

 Pattern MY_PATTERN = Pattern.compile("\\[(.*?)\\]");
        Matcher m = MY_PATTERN.matcher("Hello @[---68---] and @[---64---] and d@[---102---]");
         while (m.find()) {
           String s = m.group(1);
           System.out.println(s.split("---")[1]);
       }

答案 1 :(得分:0)

尝试下面的代码以获取String形式的数字:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexExamples {
    public static void main(String[]args) {
        Pattern pattern = Pattern.compile("numFound=\"([0-9]+)\"");
        Matcher matcher = pattern.matcher("");

        if (matcher.find()) {
            System.out.println(matcher.group(1));
        }
    }
}