[问答题] 本程序的功能是,根据用户输入的文件名,在相应的文件内容中查找匹配给定模式的字符串,并将这些字符串显示出来。模式串为“href="…"”。请填写横线处的内容。 注意:请

17 查阅

[问答题] 本程序的功能是,根据用户输入的文件名,在相应的文件内容中查找匹配给定模式的字符串,并将这些字符串显示出来。模式串为“href="…"”。请填写横线处的内容。

注意:请勿改动main()主方法和其他已有语句内容,仅在横线处填入适当语句。

import java.io.*;

import java.util.regex.*;

import javax.swing.*;

public class Example2_10

public static void main(String [] argv)

final String patternString =

"href\s*=\s*("[^"]*"|[^\s>])\s*;

String fileName ;

try

System. out. print ( "请输入html 文件的文件名: ");

InputStreamReader in = new InputStreamReader(System.in);

BufferedReader imput = new BufferedReader(in);

fileName = imput.readLine();

if(fileName.equals(" "))

return;

StringBuffer buffer = new StringBuffer();

File file = new File(fileName);

FileInputStream readfile = new FileInputStream(file);

fo

参考答案:

patternString pattern.matcher(buffer)

本题考查知识点:输入输出流和正则表达式解题思路:程序首先使用InputStreamReader的实例“in”从标准输入中获取用户输入的文件名,并将结果存放在“fileName”字符串中。if语句用来判断用户输入的文件名是否为空,如果为空则退出程序,不做任何处理。然后根据文件名读取相应的文件内容存放在StringBuffer的实例“buffer”中。然后建立起与正则表达式对应的模式对象“pattem”,并与“buffer”帮定,生成一个匹配器“matcher”。最后使用while循环查找到相应的字符串。 Patter的compile方法用来将正则表达式编译成模式对象。compile方法的第一个参数是正则表达式字符串,所以第一个空的答案是“patternString”。 第二个空用来建立一个匹配器。模式对象建立匹配器的方法是matcher(string),其中string是需要做模式匹配的兑现,本题中需要做模式匹配的对象是“buffer”。

计算机考试