问题描述
我有如下字符串。ABC//DEG//IJK//LMN//OPQ//rstuvwxyz
BCA//EGD//JKI//MNL//PQO//stuvwxyzr
ACB//DGE//IJK//LNM//OQP//rstuvwxyz
ABC//DEG//IJK//LMN//OPQ//rstuvwxyz
CAB//GDE//KIJ//NLM//QOP//rstuvwxyz
BAC//EDG//JIK//MLN//POQ//rstuvwxyz
我想要这样,
ABC//DEG//IJK\\LMN//OPQ//rstuvwxyz
BCA//EGD//JKI\\MNL//PQO//stuvwxyzr
ACB//DGE//IJK\\LNM//OQP//rstuvwxyz
ABC//DEG//IJK\\LMN//OPQ//rstuvwxyz
CAB//GDE//KIJ\\NLM//QOP//rstuvwxyz
BAC//EDG//JIK\\MLN//POQ//rstuvwxyz
我试过了
找出^.+?\K//
替换为:\\\\
但这只会改变第一次出现的斜线,
我已经试过了,
查找内容:^.+\K//
替换为:\\\\
这将替换每行末尾的最后一个斜杠..
我也试过 {3} 带数字的大括号,但没有任何好处......
在此先感谢您的帮助....
解决方法
你可以使用
<div id="container-floating">
<section align="">
<div class="rt-container">
<div class="col-rt-12">
<div class="container-fluid">
<div class="colum_full column">
<div class="cc-rockmenu">
<div class="rolling">
<a class="rolling-link" data-toggle="modal" data-target="#ReportIssueModal">
<figure class="rolling_icon"><img src="https://efp.i-r.dk/img/megaphone.png" style="width: 35px; height: 35px;" border="0"></figure>
<span><font style="color: #FFFFFF;">Report Problem</font><br><font style="color: #FFFFFF; font-size: 12px;"><i>Some text here!</i></font></span>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
替换为 ^(?:.*?\K//){3}
。请参阅regex demo online。
详情:
-
\\\\
- 一行的开始 -
^
- 除换行符以外的任何零个或多个字符出现三次,尽可能少,然后(?:.*?\K//){3}
(匹配重置运算符)丢弃到目前为止匹配的所有文本,然后 {{ 1}} 子串只保留在匹配值中。
查看演示和设置截图:
,如果示例数据中只有大写字符 A-Z,则可以使用字符类 [A-Z]+
^(?:[A-Z]+//){2}[A-Z]+\K//
-
^
字符串开头 -
(?:[A-Z]+//){2}
重复 2 次匹配大写字符 A-Z 和//
-
[A-Z]+\K//
匹配 1+ 个大写字符 A-Z,清除匹配缓冲区并匹配//
在替换中使用 \\\\