Regex 正则表达式,匹配包含换行符的字符串,换行符在R中为lookaroud str_replace
我在R中的stringr包中使用str_replace函数。我想替换分区对象和存储对象之间的子字符串 这些命令有效Regex 正则表达式,匹配包含换行符的字符串,换行符在R中为lookaroud str_replace,regex,r,lookaround,Regex,R,Lookaround,我在R中的stringr包中使用str_replace函数。我想替换分区对象和存储对象之间的子字符串 这些命令有效 my_string="esrhjg erguhg rziughrtPARTITIONED BY hzueirghf zreeuifh iuehg reuhg riutghSTORED ASiugh oer hfz" p="(?<=PARTITIONED BY).*(?=STORED AS)" str_replace(my_string,p,"TO REPLACE") my_
my_string="esrhjg erguhg rziughrtPARTITIONED BY hzueirghf zreeuifh iuehg reuhg riutghSTORED ASiugh oer hfz"
p="(?<=PARTITIONED BY).*(?=STORED AS)"
str_replace(my_string,p,"TO REPLACE")
my_string=“esrhjg erguhg RZIUGHT由HZUEIGHF ZREEEUIFH iuehg reuhg REUTGH存储在hfz上”
p=“(?在ICU正则表达式中,用于所有stringr
函数,点匹配除换行符以外的任何字符
您可以使用内联的(?s)
修饰符-“(?s)(?)?
my_string="esrhjg erguhg rziughrtPARTITIONED BY hz\nueirghf zreeuifh iuehg reuhg riutghSTORED ASiugh oer hfz"
p="(?<=PARTITIONED BY).*(?=STORED AS)"
str_replace(my_string,p,"TO REPLACE")
my_string="esrhjg erguhg rziughrtPARTITIONED BY hz\nueirghf zreeuifh iuehg reuhg riutghSTORED ASiugh oer hfz"
p="(?s)(?<=PARTITIONED BY).*(?=STORED AS)"
str_replace(my_string,p,"TO REPLACE")
my_string = "esrhjg erguhg rziughrtPARTITIONED BY hzueirghf zreeuifh iuehg reuhg riutghSTORED ASiugh oer hfz"
sub("PARTITIONED BY.*STORED AS", "PARTITIONED BY -TO_REPLACE- STORED AS", my_string)
## or with backreferences:
sub("(PARTITIONED BY).*(STORED AS)", "\\1 -TO_REPLACE- \\2", my_string)