如何使用java regex package.a

时间:2015-11-01 12:11:48

标签: java regex

我正在使用java和awt包创建一个记事本。我面临的一个问题是记事本中的find实用程序。它选择单词的最后一个出现位置。假设我写了#34;去"在文本字段中单击"找到下一个"按钮,我有两次出现的单词" go"在文件中然后它将选择第二个,但我希望它选择第一个出现。 以下是查找下一个事件的代码。

else if(act=="Find Next")
{   
    String str=t.getText();
    pt=Pattern.compile(t1.getText());
    m=pt.matcher(str.replace("\n", ""));
    while(m.find())
        t.select(m.start(),m.end());
    f.toFront();
}

这是我测试过的文件。

this is sample file just to test the notepad application.
what could possibly go wrong go.

代码选择第二次出现" go"。什么是可能的解决方案。

1 个答案:

答案 0 :(得分:1)

为什么在这里使用while循环?

while(m.find())
    t.select(m.start(),m.end());

对于每场比赛,它将选择它。 结果,最后一个将被选中。

要选择第一个,请将while更改为if

if (m.find())
    t.select(m.start(),m.end());

要选择 next ,您需要一种方法来跟踪当前位置。因为" next"是一个相对术语, 你需要从中定义