使用regexprep向前看和向后看断言
以下操作与使用regexprep向前看和向后看断言,regex,matlab,Regex,Matlab,以下操作与perl的s///g字符串替换运算符的预期操作相同: DB<18> $s = 'camelCaseText.ext' DB<19> $s =~ s/\W|(?<=[^\WA-Z_])(?=[A-Z])/\$/g; print $s camel$Case$Text$ext DB$s='camelCaseText.ext' DB$s=~s/\W |(?>regexprep('camelCaseText.ext','\W |)(?我认为您需要指定emp
perl
的s///g
字符串替换运算符的预期操作相同:
DB<18> $s = 'camelCaseText.ext'
DB<19> $s =~ s/\W|(?<=[^\WA-Z_])(?=[A-Z])/\$/g; print $s
camel$Case$Text$ext
DB$s='camelCaseText.ext'
DB$s=~s/\W |(?>regexprep('camelCaseText.ext','\W |)(?我认为您需要指定emptymatch
选项。根据,默认情况下它忽略零长度匹配
>> regexprep('camelCaseText.ext', '\W|(?<=[^\WA-Z_])(?=[A-Z])', '$', 'emptymatch')
>regexprep('camelCaseText.ext','\W |)(?我不知道!我试图让代码更可读,但这有点违背了目的。我将其压缩为一行。感谢大家的提醒。
>> regexprep('camelCaseText.ext', '\W|(?<=[^\WA-Z_])(?=[A-Z])', '$', 'emptymatch')