我正在尝试从旧网站中提取数据。我有一个带有城镇名称的下拉列表。我正在尝试使用正则表达式提取城镇名称并插入数据库。我试过>.*<
,但没有匹配。我对正则表达式很新,所以我不知道发生了什么。
示例数据如下。我想在结束标记之前使用该名称。
" <option value=""ABERCROMBIE"">ABERCROMBIE</option>"
" <option value=""ABERDEEN"">ABERDEEN</option>"
" <option value=""ABRAMS RIVER"">ABRAMS RIVER</option>"
" <option value=""ACACIAVILLE"">ACACIAVILLE</option>"
答案 0 :(得分:0)
你的正则表达式很好,但你必须确保它与非贪婪的运算符并使用捕获组。你可以使用这个正则表达式。
>(.*?)<
<强> Working demo 强>
MATCH 1
1. [35-46] `ABERCROMBIE`
MATCH 2
1. [89-97] `ABERDEEN`
MATCH 3
1. [144-156] `ABRAMS RIVER`
MATCH 4
1. [202-213] `ACACIAVILLE`
您可以使用此代码:
String line = "<YOUR TEXT TO BE PARSED>";
Pattern pattern = Pattern.compile(">(.*?)<");
Matcher matcher = pattern.matcher(line);
while (matcher.find()) {
System.out.println("Town: " + matcher.group(1));
}
答案 1 :(得分:0)
<...>
之间的所有内容
示例代码:
String str="<option value=\"\"ABERCROMBIE\"\">ABERCROMBIE</option>";
System.out.println(str.replaceAll("</?[^>]*+>", "")); // prints ABERCROMBIE
注意:如果需要,请致电trim()
以删除领带和培训空间。
<\/?[^>]*+>