当前位置: 首页 > 知识库问答 >
问题:

RegEx匹配器总是返回false

拓拔浩阔
2023-03-14

我试图解析这样的字符串;

/^/^这是一个大/*这是一个粗体文本/-这是删除。我需要$/^和$之间的文本

在regexr和java regex tester上对regex进行了测试,并显示了它的工作状态。

 public static final String bold = "/\\/\\*(.*?)\\|/g";
    public static final String strike = "/\\/\\-(.*?)\\|/g";
    public static final String big = "/\\/\\^(.*?)\\|/g"; 


    String input = "/^/^this is a big|/*this is a bold text|/-this is strike through|";

    SpannableStringBuilder str = new SpannableStringBuilder(input.trim());
    Pattern pattern = big;
    Matcher matcher = pattern.matcher(str.toString());

            while (matcher.find()) {
                  str.setSpan(new RelativeSizeSpan((1.25f)),
                        matcher.start(), matcher.end(),
                        SPAN_INCLUSIVE_INCLUSIVE);
                //input.replace(matcher.group(1),"");
            }
Pattern pattern = Pattern.compile(big);

共有1个答案

林龙野
2023-03-14
    Pattern pattern = Pattern.compile("/\\^(.*?)\\|");

    String input = "/^/^this is a big|/*this is a bold text|/-this is strike through|";
    Matcher matcher = pattern.matcher(input);
    while (matcher.find()) {
        System.out.println("Found: " + matcher.group(1));
    }
    System.out.println("That’s all, folks");

输出为:

Found: /^this is a big
That’s all, folks

如果要删除/^之间的文本,请使用matcher.appendreplacement()文档中给出的习惯用法:

    StringBuilder sb = new StringBuilder();
    while (matcher.find()) {
        matcher.appendReplacement(sb, "/^|");
    }
    matcher.appendTail(sb);
    System.out.println(sb.toString());  
/^|/*this is a bold text|/-this is strike through|

为什么你的代码不起作用?

    String patternString = "is";
    Pattern pattern = Pattern.compile(patternString);
 类似资料:
  • 我有一个字符串表达式,需要从中获取一些值。字符串如下所示 从这个stribg中,我需要获取一个字符串数组列表,其中包含“example ple1”、“example ple2”等值。 我有一个Java的方法如下所示: 但<code>m。find()总是返回<code>false。我缺少什么吗?

  • 我尝试进入调试模式,它似乎无法提取字符串的特定部分。我做错了什么?我的regex错了吗?它似乎与我尝试过的所有在线regex构建器/测试器相匹配。

  • 匹配器中的函数忽略了带有双反斜杠的转义字符。我想把两行替换成一行\n按原样分开。这是我的代码: 输出: Lorem ipsum dolor sit amet,\nConsectetur adipiscing elit sed do eusmod tempor incidunt ut\nlabore et dolore magna aliqua Lorem ipsum dolor sit amet,

  • 问题内容: 我已经写了这段简单的代码: 在我的情况当属。谁能建议/建议出什么问题了? 问题答案: 错误检查和处理是程序员的朋友。检查初始化和执行cURL函数的返回值。并在失败的情况下包含更多信息: *在 手动状态: 成功返回cURL句柄,错误返回 FALSE 。 我观察到该函数在您使用其参数且无法解析域时会返回。如果未使用该参数,则该函数 可能 永远不会返回。但是,请务必始终进行检查,因为该手册并

  • 我有一个日志文件,其中有堆栈跟踪,如下所示。我当前将其存储为。 我在这里遇到的问题是,由于某种原因,如果我打印出中的每个值,它给我的只是而不是。我99%肯定我实际的正则表达式是正确的,因为我使用的是一个正则表达式网站,您可以输入一个字符串和一个正则表达式,它将解释匹配。