ABAP正則表達(dá)式

ABAP正則表達(dá)式

ID:47513307

大?。?3.31 KB

頁(yè)數(shù):28頁(yè)

時(shí)間:2019-09-12

ABAP正則表達(dá)式_第1頁(yè)
ABAP正則表達(dá)式_第2頁(yè)
ABAP正則表達(dá)式_第3頁(yè)
ABAP正則表達(dá)式_第4頁(yè)
ABAP正則表達(dá)式_第5頁(yè)
資源描述:

《ABAP正則表達(dá)式》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、正則表達(dá)式(RegularExpressions)正則表達(dá)式在其他編程語(yǔ)言中的應(yīng)用非常廣泛,網(wǎng)上資料也非常多,而網(wǎng)上在ABAP語(yǔ)言中應(yīng)用的資料卻很少,盡管各語(yǔ)言中正則表達(dá)式語(yǔ)法知識(shí)都很類似,但仍然有一些區(qū)別,本文主要是簡(jiǎn)單介紹一下其基本語(yǔ)法。總結(jié)一下,方便大家查閱。歡迎轉(zhuǎn)載,請(qǐng)注明出處,文中不足之處還望指正。(Email:hubin0809@126.com)一、簡(jiǎn)要認(rèn)識(shí)正則表達(dá)式就是用一個(gè)“字符串”來描述一個(gè)特征,然后去驗(yàn)證另一個(gè)“字符串”是否符合這個(gè)特征。比如表達(dá)式“ab+”描述的特征是“一個(gè)'a'和任意個(gè)'b'”,那么'ab','abb','abbbbbbbbbb'都符合這個(gè)特

2、征。正則表達(dá)式可以用來:(1)驗(yàn)證字符串是否符合指定特征,比如驗(yàn)證是否是合法的郵件地址。(2)用來查找字符串,從一個(gè)長(zhǎng)的文本中查找符合指定特征的字符串,比查找固定字符串更加靈活方便。(3)用來替換,比普通的替換更強(qiáng)大。舉例DATA:?matcher?TYPE?REF?TO?cl_abap_matcher,??????match???TYPE?c?LENGTH?1.matcher?=?cl_abap_matcher=>create(?pattern?????=?'w+@w+(.w+)+'???????????????????????????????????text??????

3、??=?'hubin0809@126.com'?).match?=?matcher->match(?).WRITE?match.輸出結(jié)果:X解釋:1>????'w+@w+(.w+)+'中w是表示任意一個(gè)字母或數(shù)字或下劃線,+表示前面字符個(gè)數(shù)為一個(gè)或多個(gè),@即為’@’字符2>????matcher參照類cl_abap_matcher,match有匹配的意思,調(diào)用靜態(tài)方法create創(chuàng)建了匹配的對(duì)(暫時(shí)這么理解,好吧,我承認(rèn)我不知道怎么形容),然后調(diào)用match方法,返回值中’X’表示匹配,SPACE表示不匹配。具體含義后面會(huì)講到,本程序主要是驗(yàn)證郵件地址是否合法。?二、語(yǔ)法

4、規(guī)則?pattern模板,text要匹配的字符,match匹配結(jié)果,’X’表示匹配,SPACE表示不匹配。?1、普通字符?字母、數(shù)字、漢字、下劃線、以及后面沒有特殊定義的標(biāo)點(diǎn)符號(hào),都是"普通字符"。表達(dá)式中的普通字符,在匹配一個(gè)字符串的時(shí)候,匹配與之相同的一個(gè)字符。PatternTextMatchAAXAa-AAB-ABABX?2、轉(zhuǎn)義字符?一些不便書寫的字符,采用在前面加""的方法。例如’.’表達(dá)式可匹配\代表""本身.匹配小數(shù)點(diǎn)(.)本身Q...E中間的字符作為普通字符?PatternTextMatch..f.X..ff-wdwd-\w\dwd

5、XQwdEwdX?3、能夠與'多種字符'匹配的表達(dá)式?正則表達(dá)式中的一些表示方法,可以匹配'多種字符'其中的任意一個(gè)字符。比如,表達(dá)式"d"可以匹配任意一個(gè)數(shù)字。雖然可以匹配其中任意字符,但是只能是一個(gè),不是多個(gè)。這就好比玩撲克牌時(shí)候,大小王可以代替任意一張牌,但是只能代替一張牌。(沒玩過?好吧,去玩qq夠級(jí)吧,ok,信息泄露了,承認(rèn)我是山東人)表達(dá)式可匹配d任意一個(gè)數(shù)字,0~9中的任意一個(gè)w任意一個(gè)字母或數(shù)字或下劃線,也就是A~Z,a~z,0~9,_中任意一個(gè)s包括空格、制表符、換頁(yè)符等空白字符的其中任意一個(gè).小數(shù)點(diǎn)可以匹配除了換行符()以外的任意一個(gè)字符

6、?PatternTextMatchd9Xd25-dd25XwAXsX...4zFX?4、自定義能夠與'多種字符'匹配的表達(dá)式?使用方括號(hào)[]包含一系列字符,能夠匹配其中任意一個(gè)字符。用[^]包含一系列字符,則能夠匹配其中字符之外的任意一個(gè)字符。同樣的道理,雖然可以匹配其中任意一個(gè),但是只能是一個(gè),不是多個(gè)。表達(dá)式可匹配[ab5@]匹配"a"或"b"或"5"或"@"[^abc]匹配"a","b","c"之外的任意一個(gè)字符[f-k]匹配"f"~"k"之間的任意一個(gè)字母[^A-F0-3]匹配"A"~"F","0"~"3"之外的任意一個(gè)字符?PatternTextMatch

7、[abc]aX[abc]abc-[^abc]bcb-[a-g]bcbX5、支持的POSIX字符集合?POSIX字符集合可匹配[:alnum:]任何一個(gè)字母或數(shù)字(A-Z,a-z,0-9)[:alpha:]任何一個(gè)字母(A-Z,a-z)[:cntrl:]任何一個(gè)控制字符(x00–x1F,x7F)[:digit:]任何一個(gè)數(shù)字(0–9)[:space:]任何一個(gè)空白字符(x09–x0D,x20)[:graph:]任何一個(gè)可顯示的ASCII字符,不包含空格[:l

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。