亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        正則表達(dá)式在網(wǎng)頁(yè)課表抓取中的應(yīng)用

        2017-10-21 12:11:43申圣兵
        科技風(fēng) 2017年12期
        關(guān)鍵詞:課表課程表字符串

        申圣兵

        現(xiàn)在流行的校園類App如超級(jí)課程表、課程格子等都是以學(xué)生熟悉的課程表作為應(yīng)用的切入點(diǎn),受到了他們的喜愛(ài)。有些應(yīng)用包含上千所學(xué)校的課表信息,這些學(xué)校的課表信息千差萬(wàn)別,正則表達(dá)式成了一個(gè)識(shí)別和解析它們的有力工具。

        課表的信息來(lái)源一般是正方、青果等教務(wù)管理系統(tǒng),它們一般都是以網(wǎng)頁(yè)形式顯示的,其中典型的網(wǎng)頁(yè)課表源碼格式如下:

        計(jì)算機(jī)網(wǎng)絡(luò)(A)

        周二第1,2節(jié){第315周|單周}

        馮海林(馮海林)

        教1609(多媒體)

        它們一般包括課程名、星期、節(jié)次、周數(shù)、教師、教室等信息,相關(guān)類別信息以HTML標(biāo)記

        分隔,很容易使用JSoup等工具解析出來(lái),比較復(fù)雜的地方主要是星期、節(jié)次等信息,它們往往是連在一起的,不容易分離,并且格式多樣,因此,使用正則表達(dá)式解析這一部分內(nèi)容成了課表解析的一個(gè)關(guān)鍵。

        1 課表節(jié)次的一般格式

        下面是一些常見(jiàn)的課表節(jié)次信息格式:

        (1)周二第1,2節(jié){第416周}二,1,2,4,16,null

        (2){第210周|3節(jié)/周}null,null,null,2,10,3節(jié)/周

        (3)周二第1,2節(jié){第416周|雙周}二,1,2,4,16,雙周

        (4)周二第1節(jié){第416周}二,1,null,4,16,null

        (5)周二第1節(jié){第416周|雙周}二,1,null,4,16,雙周

        這些包括了常見(jiàn)的課表節(jié)次格式,如果和以上的格式不符,那么就要自行修改正則表達(dá)式。

        2 正則表達(dá)式的使用方法

        現(xiàn)在以Java語(yǔ)言為例介紹正則表達(dá)式在高級(jí)語(yǔ)言中的使用方法。Java從JDK 1.40版本開(kāi)始包含了java.util.regex包,這個(gè)包中包括了兩個(gè)類:Pattern(模式類)和Matcher(匹配器類),一個(gè)Pattern對(duì)象就是一個(gè)正則表達(dá)式經(jīng)編譯后的表現(xiàn)模式,也就是前邊所說(shuō)的“模式編譯器”;一個(gè)Matcher對(duì)象是一個(gè)狀態(tài)機(jī)器,它根據(jù)Pattern對(duì)象作為匹配模式對(duì)字符串展開(kāi)匹配檢查,也就是“模式匹配器”。這里主要使用了Pattern類的compile方法及Matcher類的matches方法。它們的作用如下:

        (1)compile(String regex)方法:將指定的正則表達(dá)式進(jìn)行編譯。

        (2)matches()方法:判斷整個(gè)字符序列與模式是否匹配。如果連續(xù)用Matcher對(duì)象檢查多個(gè)字符串,可以使用reset方法重置匹配器,放棄其所有顯式狀態(tài)信息并將其添加位置設(shè)置為零。

        課表正則表達(dá)式中使用了組,組在正則表達(dá)式中是一個(gè)非常重要的概念。組是用括號(hào)來(lái)劃分正則表達(dá)式的,可以通過(guò)編號(hào)來(lái)引用組。組號(hào)從0開(kāi)始,有幾對(duì)小括號(hào)就表示有幾個(gè)組,并且組可以嵌套,組號(hào)為0的表示整個(gè)表達(dá)式,組號(hào)為1的表示第一個(gè)組,依此類推。例如:A((B)C)(D)E正則式中有四組:組0是ABCDE,組1是BC,組2是B;組3是C,組4是D。

        3 正則表達(dá)式在提取課表信息中的應(yīng)用

        下面我們以提取課程節(jié)次信息為例,看看正則表達(dá)式的靈活應(yīng)用。

        節(jié)次信息的正則表達(dá)式可寫成:String reg = “周(.)第(\\d{1,2}),(\\d{1,2})節(jié)\\{第(\\d{1,2})(\\d{1,2})周\\|((.*周))\\}”;

        String splitPattern = “

        ”;//設(shè)置課表分隔標(biāo)記

        String[] temp = sub.split(splitPattern);//將課表信息分離,存在字符串?dāng)?shù)組中,數(shù)組第二個(gè)為節(jié)次信息

        Pattern pattern = Pattern.compile(reg);

        Matcher matcher = pattern.matcher(temp[1]);

        matcher.matches();

        最終得到的課表格式如下圖如示:

        4 結(jié)語(yǔ)

        現(xiàn)在流行的開(kāi)發(fā)語(yǔ)言比如C#、VB、Java等等都提供了對(duì)正則表達(dá)式的直接支持,在很多領(lǐng)域得到了應(yīng)用,由于正則表達(dá)式相對(duì)比較抽象,不容易理解,要精通它比較困難,但熟悉一些常用操作,對(duì)我們的工作還是有很大的幫助的。

        參考文獻(xiàn):

        [1]胡軍偉.正則表達(dá)式在Web信息抽取中的應(yīng)用.北京信息科技大學(xué)學(xué)報(bào),2011.

        [2]張靜.正則表達(dá)式及其在信息抽取中的應(yīng)用.電腦知識(shí)與技術(shù),2009.

        [3]唐惠麗.正則表達(dá)式的研究及在Web中的應(yīng)用.計(jì)算機(jī)技術(shù)與發(fā)展,2013.

        猜你喜歡
        課表課程表字符串
        課程表
        學(xué)生出招解決”日課牌“問(wèn)題
        如果我是校長(zhǎng)
        超萌小鹿課程表
        童話世界(2019年17期)2019-07-04 15:15:36
        運(yùn)用VBA自動(dòng)生成子課程表
        青年課程表
        金色年華(2016年8期)2016-02-28 01:39:58
        各地區(qū)學(xué)生課表
        留學(xué)生(2015年6期)2015-07-02 02:36:20
        黑馬學(xué)院2015年下半年超級(jí)課程表
        一種新的基于對(duì)稱性的字符串相似性處理算法
        依據(jù)字符串匹配的中文分詞模型研究
        欧美h久免费女| 色偷偷av男人的天堂| 又色又污又爽又黄的网站| 妞干网中文字幕| 久久久国产精品三级av| 国产成人av一区二区三区不卡| 一区二区和激情视频| 少妇被粗大猛进进出出男女片| 久久久www成人免费无遮挡大片| 久久精品熟女亚洲av艳妇| 亚洲成人一区二区av| 国产精品欧美久久久久久日本一道| 久久夜色精品国产| 国产成人综合久久久久久| 中文字幕精品乱码一二三区| 国产三a级三级日产三级野外| 把女的下面扒开添视频| 丁香五月缴情综合网| 日本岛国大片不卡人妻| 国产真实一区二区三区| 亚洲精品成人无码中文毛片| 欧美日韩国产免费一区二区三区欧美日韩| 午夜亚洲国产精品福利| 日本人妻高清免费v片| 日本天堂免费观看| 久久亚洲精品无码gv| 亚洲av国产大片在线观看| 国产免费人成视频网站在线18| 国产精品特级毛片一区二区三区| 少妇人妻200篇白洁| 99精品国产第一福利网站 | 亚洲中文字幕免费精品| 国产av无码专区亚洲a∨毛片 | 欧美bbw极品另类| 亚洲av日韩aⅴ无码电影| 亚洲福利视频一区二区三区| 国产精品永久在线观看| 少妇的肉体k8经典| 国产丝袜高跟美腿一区在线| av网站在线观看入口| 少女高清影视在线观看动漫|