相关疑难解决方法(0)

Java Regex 提取两个字符串之间的字符串

问题

我有一个这样的模式“提名?奥斯卡”或“提名 2 座金球奖。提名?奥斯卡。30 次赢得 18 项提名” 我想确定 ? 用正则表达式,所以奥斯卡的数量。

我试过的

好像有

对应这个问题:在java中提取两个字符串之间的字符串

如何在两个字符串之间找到一个值?我试过这种模式:

final Pattern pattern = Pattern.compile("for(.*?)Oscar");
Run Code Online (Sandbox Code Playgroud)

接下来我尝试了这个问题:Java - 在两个字符串之间获取所有字符串的最佳方法?(正则表达式?)

  final Pattern pattern = Pattern.compile(Pattern.quote("Nom") +"(.*?)"+ Pattern.quote("Oscar"));
Run Code Online (Sandbox Code Playgroud)

我的其余代码:

final Matcher matcher = pattern.matcher("Nom for 3 Oscar");
    while(matcher.find()){

    }
Log.d("Test", matcher.group(1));
Run Code Online (Sandbox Code Playgroud)

所有这些模式都会导致此异常:

java.lang.IllegalStateException:到目前为止没有成功的匹配

我想我只是监督一些非常简单的事情。

你们能帮帮我吗?

编辑


所以问题是我在循环后调用 matcher.group(1) 。我误解了 find 方法的工作原理。然而,当我在循环内调用 matcher.group(1) 时,这段代码确实有效。

   final Pattern pattern = Pattern.compile("for(.*?)Oscar");
    final Matcher matcher = pattern.matcher("Nom for 3 Oscar");
        while(matcher.find()){
         Log.d("Test", matcher.group(1));
        }
Run Code Online (Sandbox Code Playgroud)

java regex string android illegalstateexception

4
推荐指数
1
解决办法
6835
查看次数

搜索标记,然后将标记之间的文本保存为变量

我对Java很新,但是如何在文件中搜索标签,然后标签之间的所有内容(如一串文本)都将分配给变量.

例如,我有<title>THE TITLE</title>,但后来我想将字符串"THE TITLE"保存到名为title1的变量或其他东西.

我应该怎么做呢?谢谢.

java

3
推荐指数
1
解决办法
211
查看次数

标签 统计

java ×2

android ×1

illegalstateexception ×1

regex ×1

string ×1