请教一个正则问题,java的,请高手帮忙写写


下面这个 Sgring 怎么把里面的以 #开始 #结束 第一个是位置,第二个是数量

比如第一个是: #黄色—再见了我的秋天#
匹配出来是 3,12

第二个: #秋天# 23,4


 色彩家#黄色—再见了我的秋天# 也许你还没想起#秋天#何时来到,也没注意它何时离去。唯有当你看到遍地苍黄落叶,呼吸着清冷空气时才发现秋天已经走了。#黄色#是#秋天#的#色彩#,是#温暖#、#温馨#的#家居#情调,#树木##花草#虽然可以凋零,但是黄色代表的希望和温暖却可以永远的留在你的家居世界里。

正则表达式 java

飞机是这样的 10 years, 3 months ago

 package com.test;

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

public class MatcherTest {

        public void forAt() {
            Pattern p = Pattern.compile("@[^\\s@]+");
            Matcher m = p.matcher("色彩家@黄色—再 @见了我的@秋天 也#秋天#许@你还没想起");
            while(m.find()) {
                System.out.println(m.group());

                System.out.println(m.start() + "," + (m.end() - m.start()));
            }
        }

    public static void main (String[] args) throws java.lang.Exception
    {

        Pattern p = Pattern.compile("#[^#]+#");
        Matcher m = p.matcher("色彩家#黄色—再见了我的秋天# 也许你还没想起#秋天#何时来到");
        while(m.find()) {
            System.out.println(m.start() + "," + (m.end() - m.start()));
        }
    }
}

msgybs answered 10 years, 3 months ago

Your Answer