之前对vim和正则都存在着一些歪理,认为并不需要如此复杂吧!但是真正需要用到的时候,它们起了很大的作用。

在我眼里,没有比正则更难理解的”语言”了。

其实在所有计算机语言里,汇编也不过尔尔,当你想起你之前写的正则表达式时,你可能会一脸懵逼。当然我还是希望尝试一下的。

对于正则,一直神往,并没有认真去学习多少,大概懂得它的强悍之处。我发现我必须做些什么了。

如何替换html里面的a标签的链接为空呢?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<li><a href="//www.runoob.com/">首页</a></li>
<li><a href="/html/html-tutorial.html">HTML</a></li>
<li><a href="/css/css-tutorial.html">CSS</a></li>
<li><a href="/js/js-tutorial.html">JavaScript</a></li>
<li><a href="/jquery/jquery-tutorial.html">jQuery</a></li>
<li><a href="/bootstrap/bootstrap-tutorial.html">Bootstrap</a></li>
<li><a href="/sql/sql-tutorial.html">SQL</a></li>
<li><a href="/mysql/mysql-tutorial.html">MySQL</a></li>
<li><a href="/php/php-tutorial.html">PHP</a></li>
<li><a href="/python/python-tutorial.html">Python</a></li>
<li><a href="/cprogramming/c-tutorial.html">C</a></li>
<li><a href="/cplusplus/cpp-tutorial.html">C++</a></li>
<li><a href="/csharp/csharp-tutorial.html">C#</a></li>
<li><a href="/java/java-tutorial.html">Java</a></li>
<li><a href="/ruby/ruby-tutorial.html">Ruby</a></li>

就比如上方的代码而言吧,我想将所有的链接地址为空连接,如果我一个个改的话,肯定特别浪费时间,但是批量操作又没有特点。

最终我知道正则替换方式:

1
2
Find What:<a href=".*?">
Replace With:<a href="#">

替换后:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<li><a href="#">首页</a></li>
<li><a href="#">HTML</a></li>
<li><a href="#">CSS</a></li>
<li><a href="#">JavaScript</a></li>
<li><a href="#">jQuery</a></li>
<li><a href="#">Bootstrap</a></li>
<li><a href="#">SQL</a></li>
<li><a href="#">MySQL</a></li>
<li><a href="#">PHP</a></li>
<li><a href="#">Python</a></li>
<li><a href="#">C</a></li>
<li><a href="#">C++</a></li>
<li><a href="#">C#</a></li>
<li><a href="#">Java</a></li>
<li><a href="#">Ruby</a></li>

没有太明白为啥需要”.*“加一个小数点呢?这个问题可以研究一下,而”?”可以被省略。所以算是别人对于我正则入门的一个小小的建议吧!
对于”*”和”?”日常生活中用的也算比较多吧。

因此可以这么说,正则走起!

以上就是我对正则的小小尝试吧。