Rumah  >  Soal Jawab  >  teks badan

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

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

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

第二个:#秋天#23,4

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

membalas semua(1)saya akan balas

  • 黄舟

    黄舟2017-04-17 12:02:52

    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()));
            }
        }
    }
    
    

    balas
    0
  • Batalbalas