请教一个正则问题,java的,请高手帮忙写写
下面这个
Sgring
怎么把里面的以
#开始
#结束
第一个是位置,第二个是数量
比如第一个是:
#黄色—再见了我的秋天#
匹配出来是
3,12
第二个:
#秋天#
是
23,4
色彩家#黄色—再见了我的秋天# 也许你还没想起#秋天#何时来到,也没注意它何时离去。唯有当你看到遍地苍黄落叶,呼吸着清冷空气时才发现秋天已经走了。#黄色#是#秋天#的#色彩#,是#温暖#、#温馨#的#家居#情调,#树木##花草#虽然可以凋零,但是黄色代表的希望和温暖却可以永远的留在你的家居世界里。
飞机是这样的
10 years, 3 months ago
Answers
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