高分!!正则表达式匹配最后一个字符不成功

来源:百度知道 编辑:UC知道 时间:2024/06/21 06:41:03
我要用正则表达式匹配下面的字符:
5,一汽奥迪,2,一汽大众,8,一汽丰田,4,一汽轿车,53,一汽马自达,164,郑州日产,141,众泰

我想匹配得到的结果是输出两个值,表示的方式为:
5,一汽奥迪,
2,一汽大众,
8,一汽丰田,

这个样子,但是最后一个 141,众泰 没有逗号,匹配不了,请高手指点。

我的写法是:
package auto;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.List;
public class RegexInsertData
{

public static void main(String[] args) throws IOException
{
try {
File file = new File( "d:/2.html");
if (file.exists()==false){
System.out.println( "cannot find file ");
return;
}

调了一下,才发现也犯错误了:
改成这样:
"(\\d+),([^,']+),?"
意思是:
(数字重复一次或多次),(一次或多次不包含,和'的字符)一次或0次逗号

2.html的源代码就只有你给的那么多么?
我把你给的待解析字符串复制过来后进行匹配,结果能成功。你试试。
如果2.html的源文件代码不止那么多,还有其他的,那估计这正则表达式又要改了。

直接在匹配的时候给那个字符串添加一个逗号