1. 正則表達(dá)式測(cè)試程序
- DEMO_REGEX
- DEMO_REGEX_TOY
2. ABAP SQL & CDSView Entity支持正則語(yǔ)法的場(chǎng)景
SQL函數(shù) | 語(yǔ)法 | 作用 | 執(zhí)行邏輯 | 返回類型 | CDS???View Entities | ABAP???SQL |
---|---|---|---|---|---|---|
LIKE_REGEXPR | LIKE_REGEXPR( ????? ?????PCRE = pcre, ????? ?????VALUE = sql_exp1[, ????? ?????CASE_SENSITIVE = case]) |
檢查字符串是否包含任何 PCRE命中 | 檢查sql_exp是否包含任何???PCRE命中,是則返回1,否則返回0。默認(rèn)情況下,搜索是區(qū)分大小寫(xiě)的,但可以使用參數(shù)case-sensitive???覆蓋這一點(diǎn)。 | INT4 | 支持 | |
OCCURRENCES_REGEXPR | OCCURRENCES???_REGEXPR( ????? ?????PCRE = pcre, ????? ?????VALUE = sql_exp1[, ????? ?????CASE_SENSITIVE = case]) |
計(jì)數(shù)并返回所有出現(xiàn)的 PCRE命中 | 對(duì)sql_exp中 PCRE命中 的所有出現(xiàn)次數(shù)進(jìn)行計(jì)數(shù),并返回出現(xiàn)次數(shù)。默認(rèn)情況下,搜索是區(qū)分大小寫(xiě)的,但可以使用參數(shù)case-sensitive 覆蓋這一點(diǎn)。 | INT4 | 支持 | |
REPLACE_REGEXPR | REPLACE_REGEXPR( ????? ?????PCRE = pcre, ????? ?????VALUE = sql_exp1, ????? ?????WITH = sql_exp2, ????? ?????OCCURRENCE => occ][, ????? ?????CASE_SENSITIVE => case]) |
將字符串中的 PCRE命中 替換為另一個(gè)指定的字符串 | 將sql_exp1中的???PCRE命中 替換為sql_exp2中指定的字符串。OCCURRENCE是可選的,它決定了要替換的pcre的出現(xiàn)次數(shù)。默認(rèn)情況下,搜索是區(qū)分大小寫(xiě)的,但可以使用參數(shù)case-sensitive 覆蓋這一點(diǎn)。 | SSTRING | 支持 | 支持 |
- LIKE_REGEXPR 取工廠為純數(shù)字的數(shù)據(jù)(ABAP SQL)
SELECT *
FROM marc
WHERE LIKE_REGEXPR( PCRE = '[0-9]{4}',VALUE = werks,CASE_SENSITIVE = ' ' ) = 1
into TABLE @DATA(lt_marc).
- OCCURRENCES _REGEXPR取"0"出現(xiàn)了3次的工廠(ABAP SQL)
SELECT *
FROM t001w
WHERE occurrences_regexpr( pcre = '[0]{1}',value = werks,case_sensitive = ' ' ) = 3
INTO TABLE @DATA(lt_marc).
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-821165.html
- REPLACE_REGEXPR 取Z004下工廠純數(shù)字或者V00開(kāi)頭&Z005 Z006下工廠非純數(shù)字的數(shù)據(jù) (CDS View Entity)
define view entity ZI_MAINTAINEDPLANTVIEW_VH
as select from ZI_MAINTAINEDPLANTVIEW as t1
cross join ZI_MD_SUBTYPE_VH as t2
{
@Consumption.filter.hidden:true
key t1.Matnr,
@ObjectModel.text.element: [ 'name1' ]
key t1.Werks,
t1.Extended,
@Semantics.text: true
t1.Name1,
t2.SubType
}
where
t1.Matnr <> ''
and(
t2.SubType = 'Z001_003'
or t2.SubType = 'Z002_003'
or t2.SubType = 'Z002_003'
or(
t2.SubType = 'Z004_003'
and(
'####' = replace_regexpr(pcre => '[0-9]{1}', value => t1.Werks, with => '#', result_length => 4)
or(
left(t1.Werks,3) = 'V00'
)
)
)
or(
(
t2.SubType = 'Z005_003'
or t2.SubType = 'Z006_003'
)
and(
'####' <> replace_regexpr(pcre => '[0-9]{1}', value => t1.Werks, with => '#', result_length => 4)
)
)
)
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-821165.html
到了這里,關(guān)于ABAP SQL & CDSView Entity中使用正則RegEx表達(dá)式(Regular Expressions)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!