用正则表达式改小写为大写

简介: 对于常用的SQL语句,有时为了规整,必须让关键字大写,但对有的不规范的,我们可以用正则表达式修改为大写,具体步骤为: 1.定义要大写的关键字 const  sMatch: array[1..34] of string = ('select', 'case', 'begin', 'and', 'f...

对于常用的SQL语句,有时为了规整,必须让关键字大写,但对有的不规范的,我们可以用正则表达式修改为大写,具体步骤为:

1.定义要大写的关键字

const
  sMatch: array[1..34] of string = ('select', 'case', 'begin', 'and', 'from', 'where', 'update', 'delete',
    'left', 'join', 'full', 'right', 'inner', 'outer', 'declare', 'set', 'distinct', 'if', 'is', 'null','order',
    'group', 'by', 'asc', 'desc', 'or', 'exists', 'having', 'sum', 'count', 'average', 'ave', 'raise', 'error');

2.定义规则

for i := Low(sMatch) to High(sMatch) do

if Rgr.Exec(Memo1.Text) then
      repeat
        str := Rgr.Match[1];
        str1 := StringReplace(str1,str,UpperCase(str),[rfReplaceAll]);
      until not Rgr.ExecNext;
    Memo2.Text :=str1;

整个代码为:

 
 
1 var
2 i: Integer;
3 Rgr: TRegExpr;
4 sExpr,str,str1: string ;
5 begin
6 Memo1.Lines.Clear;
7 Memo1.Lines.Text : = ' select * from delphi WHERE id=1 and kind=3 ' + # 10 # 13
8 + ' ordER By id ' ;
9 Rgr : = TRegExpr.Create;
10 try
11 Rgr.ModifierI : = True;
12 for i : = Low(sMatch) to High(sMatch) do
13 sExpr : = sExpr + sMatch[i] + ' | ' ;
14 sExpr : = ' ( ' + Copy(sExpr, 1 , Length(sExpr) - 1 ) + ' ) ' ;
15 Rgr.Expression : = sExpr;
16 str1 : = Memo1.Text;
17 if Rgr.Exec(Memo1.Text) then
18 repeat
19 str : = Rgr.Match[ 1 ];
20 str1 : = StringReplace(str1,str,UpperCase(str),[rfReplaceAll]);
21 until not Rgr.ExecNext;
22 Memo2.Text : = str1;
23 finally
24 Rgr.Free;
25 end;
26 end;
相关文章
|
数据安全/隐私保护
正则表达式--密码复杂度验证--必须包含大写、小写、数字、特殊字符中的至少三项
正则表达式--密码复杂度验证--必须包含大写、小写、数字、特殊字符中的至少三项
806 0
|
SQL Perl
perl正则表达式--小写变大写
以下代码可以将SQL语句中的关键字改为大写,如create改为CREATE,Order改为ORDER,disTinCt改为DISTINCT,另外特别注意的是只有perl才支持/U替换选项 use strict;use warnings; my $str;$str="where create Or...
928 0
|
4月前
|
Python
Python 内置正则表达式库re的使用
正则表达式是记录文本规则的代码,用于查找和处理符合特定规则的字符串。在Python中,常通过原生字符串`r'string'`表示。使用`re.compile()`创建正则对象,便于多次使用。匹配字符串有`match()`(从开头匹配)、`search()`(搜索首个匹配)和`findall()`(找所有匹配)。替换字符串用`sub()`,分割字符串则用`split()`。
54 3
|
3月前
|
数据库 Python
Python网络数据抓取(8):正则表达式
Python网络数据抓取(8):正则表达式
33 2
|
3月前
|
自然语言处理 JavaScript 前端开发
Python高级语法与正则表达式(二)
正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。
|
3月前
|
安全 算法 Python
Python高级语法与正则表达式(一)
Python提供了 with 语句的写法,既简单又安全。 文件操作的时候使用with语句可以自动调用关闭文件操作,即使出现异常也会自动关闭文件操作。
|
3月前
|
Python
Python使用正则表达式分割字符串
在Python中,你可以使用re模块的split()函数来根据正则表达式分割字符串。这个函数的工作原理类似于Python内置的str.split()方法,但它允许你使用正则表达式作为分隔符。
|
3月前
|
Python
Python中re模块的正则表达式
【6月更文挑战第2天】了解Python的re模块,它是处理正则表达式的核心工具。正则表达式用于在文本中查找特定模式。本文讨论了re模块的用法和技巧,包括导入模块、匹配、分组、替换文本、编译正则表达式以及使用预定义字符类、量词、锚点等高级功能。通过实例展示了如何在Python中执行这些操作,帮助提升文本处理能力。掌握这些技巧将使你更有效地利用正则表达式解决字符串处理问题。
33 2
|
3月前
|
Python
Python正则表达式详解:掌握文本匹配的魔法
Python正则表达式详解:掌握文本匹配的魔法