正则表达式在网页课表抓取中的应用

2017-10-21 12:11:43申圣兵
科技风 2017年12期
关键词:信息方法

申圣兵

现在流行的校园类App如超级课程表、课程格子等都是以学生熟悉的课程表作为应用的切入点,受到了他们的喜爱。有些应用包含上千所学校的课表信息,这些学校的课表信息千差万别,正则表达式成了一个识别和解析它们的有力工具。

课表的信息来源一般是正方、青果等教务管理系统,它们一般都是以网页形式显示的,其中典型的网页课表源码格式如下:

计算机网络(A)

周二第1,2节{第315周|单周}

冯海林(冯海林)

教1609(多媒体)

它们一般包括课程名、星期、节次、周数、教师、教室等信息,相关类别信息以HTML标记

分隔,很容易使用JSoup等工具解析出来,比较复杂的地方主要是星期、节次等信息,它们往往是连在一起的,不容易分离,并且格式多样,因此,使用正则表达式解析这一部分内容成了课表解析的一个关键。

1 课表节次的一般格式

下面是一些常见的课表节次信息格式:

(1)周二第1,2节{第416周}二,1,2,4,16,null

(2){第210周|3节/周}null,null,null,2,10,3节/周

(3)周二第1,2节{第416周|双周}二,1,2,4,16,双周

(4)周二第1节{第416周}二,1,null,4,16,null

(5)周二第1节{第416周|双周}二,1,null,4,16,双周

这些包括了常见的课表节次格式,如果和以上的格式不符,那么就要自行修改正则表达式。

2 正则表达式的使用方法

现在以Java语言为例介绍正则表达式在高级语言中的使用方法。Java从JDK 1.40版本开始包含了java.util.regex包,这个包中包括了两个类:Pattern(模式类)和Matcher(匹配器类),一个Pattern对象就是一个正则表达式经编译后的表现模式,也就是前边所说的“模式编译器”;一个Matcher对象是一个状态机器,它根据Pattern对象作为匹配模式对字符串展开匹配检查,也就是“模式匹配器”。……

登录APP查看全文

猜你喜欢
信息方法
学习方法
订阅信息
中华手工(2017年2期)2017-06-06 23:00:31
用对方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
赚钱方法
捕鱼
展会信息
中外会展(2014年4期)2014-11-27 07:46:46
信息
建筑创作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
健康信息(九则)
祝您健康(1987年2期)1987-12-30 09:52:28