-1

その前後にある文字と一緒に文字列からパターンを分離したい。

この ihavehashasaahasabig のような 3 つの「has」のパターンを持つ文字列があり、最初の「has」の前に 1 文字、最後の「has」の後に 1 文字が必要です。

出力は次のようになります。

ハシャサアハサ

しかし、私がこのコードを使用したとき

String seq1="ihavehashasaahasabig";
    Pattern pat =Pattern.compile("\\w.has.*?has.*?has.\\w");
    Matcher m=pat.matcher(seq1);
    while (m.find())
    {
        System.out.println(m.group());}

出力は次のようになります:- vehashasaahasab

今、私は私の問題を解決するために何をすべきか.

4

4 に答える 4

2

正規表現を次のように変更します.has.*?has.*?has.

String seq1="ihavehashasaahasabig";
Pattern pat =Pattern.compile(".has.*?has.*?has.");
Matcher m=pat.matcher(seq1);
while (m.find())
{
    System.out.println(m.group());}

出力 はしゃさはさ

于 2013-10-12T11:14:24.027 に答える