3

在我的 wiki 中,我有一些源代码,例如下面发布的代码片段。

我已经按照维基媒体的要求将每个 MySQL 语句用大写字母加粗,并在其周围加上三个撇号。

我现在还想像第一个语句一样为每个语句赋予颜色#909。

{| class="wikitable"
|-
!style="width:250px" | MySQL Commands
!style="width:500px" | Example 
!Description
|-
|<span style="color:#909">'''SELECT COUNT'''</span>
|'''SELECT COUNT(*)''' '''FROM''' classics;
|'''SELECT COUNT''' displays the number of rows in the table by passing * as a parameter, which means “all rows.”
|-
|'''SELECT''' and '''SELECT DISTINCT'''
|'''SELECT''' author '''FROM''' classics; <br>'''SELECT DISTINCT''' author '''FROM''' classics;
|'''SELECT DISTINCT''' (or '''DISTINCTROW''') allows you to “weed out” multiple entries when they contain the same data.
|-
|'''DELETE'''
|'''DELETE FROM''' classics '''WHERE''' title='Little Dorrit';
|This example issues a '''DELETE''' command for all rows whose title column contains the string inside the ‘’. 
|-

如何制作一个正则表达式,两次找到三个撇号的序列,然后放在<span style ="color:#909">第一组撇号之前,最后 </span>在最后一组之后设置 a?

4

1 回答 1

1

尝试这个:

(?<!<span style="color:#909">)('''[A-Z\(\)\*\s]+''')(?!</span>) # find
<span style="color:#909">\1</span> # replace

这两个负面的环顾四周使得正则表达式只匹配没有<span>标签的 SQL 语句。这样,您可以根据需要随时搜索和替换,而不会出现重复的标签。

这可以在像 Notepad++ 这样的编辑器中完成。

于 2015-05-09T19:24:21.407 回答