假设我有一个这样的字符串:
=====
Run Code Online (Sandbox Code Playgroud)
我想用这个替换它:
-----
Run Code Online (Sandbox Code Playgroud)
我只想替换它,如果它有超过一定数量的那个角色(我们会说> 3).
所以,这些应该是替代品:
=== -> ===
==== -> ----
===== -> -----
Run Code Online (Sandbox Code Playgroud)
该应用程序是我想用markdown替换markdown中的所有1级标题,而不更改嵌入的代码块.
我知道我可以这样做:
/=/-/g
,但这匹配任何带有等号(if (x == y)
)的东西,这是不可取的.
或这个:
/===+/----/g
,但这并不考虑原始匹配字符串的长度.
这可能吗?
yko*_*yko 10
Perl有可能:
my $string = "===== Hello World ====";
$string =~ s/(====+)/"-" x length($1)/eg;
# $string contains ----- Hello World ----
Run Code Online (Sandbox Code Playgroud)
Flag/e使Perl在s ///的第二部分执行表达式.您可以尝试使用oneliner:
perl -e '$ARGV[0] =~ s/(====+)/"-" x length($1)/eg; print $ARGV[0]' "===== Hello World ===="
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4001 次 |
最近记录: |