2015-07-21 40 views
-1

我想将加粗的文本保存为字符串。
我想出了正则表达式“routeName?。+?routeLengthKM”,根据一个在线正则表达式测试,这应该得到我想要的find方法,但它只返回true/false。如何将粗体文本保存为字符串?Java正则表达式不能将文本保存到字符串

“路线:[{routeName:杜勒斯收费路瓦; SR-28 S,routeDurationInMinutes:18,routeLengthKM:21.474,routeLengthMiles:13.343320854,收费:真},{routeName:煎锅路; SR- 28个S,routeDurationInMinutes:18,routeLengthKM:19.437,routeLengthMiles:12.077588127,收费:假}

package regex; 
import java.util.regex.*; 

public class regexclass { 

    public static void main (String args[]){ 
    Pattern p= Pattern.compile("routeName?.+?routeLengthKM"); 
    Matcher m= p.matcher("routes:[{routeName:Dulles Toll Rd W; SR-28 S,routeDurationInMinutes:18,routeLengthKM:21.474,routeLengthMiles:13.343320854,toll:true},{routeName:Frying Pan Rd; SR-28 S,routeDurationInMinutes:18,routeLengthKM:19.437,routeLengthMiles:12.077588127,toll:false}]"); 
    System.out.println(m.find()); 

    } 
} 
+1

我们无法调试我们看不到的代码。请添加它。 – tnw

+0

没有什么可看的。我只需要知道如何将粗体文本转换为字符串 – tylerik

+0

你有没有试过类似这样的答案? – ifyadig

回答

0

m.find();将推出匹配引擎这将试图匹配文本的正则表达式,如果一个返回true。可以找到匹配,如果找不到匹配,可以找到false。通常情况下,你会使用类似thi s到找到的所有匹配:

while(m.find()) {}

在找到匹配(即在m.find();或更好的if (m.find()) {之后),您可以使用n组号码检索与m.group(n);匹配的匹配。 0是完全匹配组,并且从那里开始的所有其他数字(1,2,3,...)都是指子组(括号中的内容)。