首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

求一正则表达式取得其中的指定值,该怎么解决

2012-01-05 
求一正则表达式取得其中的指定值有表达式(((indicator4-indicator3)0)?上升+(label5-indicator3+label8

求一正则表达式取得其中的指定值
有表达式(((indicator4-indicator3)>0)?"上升"+(label5-indicator3+label8):"下降"+(label7-label10-label12)),我想获得里面所有的以indicator、label开头的内容
indicator4、indicator3、label5、label8、label7、label10、label12等等

[解决办法]
for example

Java code
String s = "(((indicator4-indicator3)>0)?\"上升\"+(label5-indicator3+label8):\"下降\"+(label7-label10-label12))";Pattern p = Pattern.compile("(?i)(indicator\\d+|label\\d+)");  Matcher m = p.matcher(s);while (m.find()) {    System.out.println(m.group());}
[解决办法]
Java code
public static void main(String[] args) {        String str = "有表达式(((indicator4-indicator3)>0)?\"上升\"+(label5-indicator3+label8):\"下降\"+(label7-label10-label12)),我想获得里面所有的以indicator、label开头的内容";        Matcher m = Pattern.compile("(?<!\\w)(indicator|label)\\d+").matcher(str);        while(m.find()){            System.out.println(m.group());        }    } 

热点排行