我正在尝试将粗体文本保存为字符串 我已经提出了正则表达式“routeName?。+?routeLengthKM”并且根据在线正则表达式测试器,这应该得到我想要的find方法,但它只返回true / false。如何将粗体文本保存为字符串?
“路线:[{ 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}
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());
}
}
答案 0 :(得分:0)
m.find();
将启动匹配引擎。这将尝试将正则表达式与文本进行匹配。如果找到匹配则返回true
,如果找不到匹配则返回false
。通常,您可以使用这样的结构来查找所有匹配项:
while(m.find()) {}
找到匹配项后(即m.find();
或更好if (m.find()) {
后),您可以使用m.group(n);
检索与n
组号匹配的匹配项。 0是完整匹配组,其中所有其他数字(1,2,3,...)指的是子组(括号中的内容)。