运用正则表达式匹配所有表名

正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。

写出匹配SQL语句中的所有表名,备忘记录

折磨了好久,正则表达式如下:

代码如下:

\*\s+from\s+[\w\[\]]*\.?[\w\[\]]*\.?\[?(\b\w+)\]?[\r\n\s]*

支持各种表达式

SELECT * FROM Config
SELECT * FROM [dbo].IMEIUser
SELECT * FROM dbo.LotteryLog
SELECT * FROM [GreenPrize]
SELECT * FROM [dbo].[Config]
SELECT * FROM dbo.[Prize]
SELECT * FROM [DBName].[dbo].[Config]

截图:

使用 Match(input).Result("$1")进行获取

当然正则表达式中的from还可以写成贪婪模式,这样可以支持insert join update等表的获取

以上所述是小编给大家介绍的运用正则表达式匹配所有表名的相关知识,希望对大家有所帮助!

(0)

相关推荐

  • js编写trim()函数及正则表达式的运用

    1.js中本身是没有trim函数的,不过你可以自己写一个 复制代码 代码如下: function trim(str) { var newStr = str.replace(/^\s*$/g,'') retrun newStr; } 2.去除字符串左右两端的空格,在vbscript里面可以轻松地使用 trim.ltrim 或 rtrim,但在js中却没有这3个内置方法,需要手工编写.下面的实现方法是用到了正则表达式,效率不错,并把这三个方法加入String对象的内置方法中去. 写成类的方法格式如下

  • Freemaker Replace函数的正则表达式运用

    replace(param1,param2,param3) param1 正则表达式:param2 将匹配的字符替换成指定字符:param3 模式 param3 参数如下 模式 i r m s c f replace 支持 支持 只和r 组合 只和r 组合 只和r 组合 支持 模式解释: i: Case insensitive: 忽略大小写 f: First only. That is, replace/find/etc. only the first occurrence of somethi

  • [asp]中的正则表达式运用代码

    今天在改一套b2b的电子商务系统时,发现ASP正则,虽然用ASP很久了,但从来没用过正则表达式,这套系统中有个正则的函数很不错,自己看吧. 复制代码 代码如下: <%   Function RegExpTest(patrn, strng)      Dim regEx, Match, Matches   ' 建立变量.      Set regEx = New RegExp   ' 建立正则表达式.       regEx.Pattern = patrn   ' 设置模式.      regEx

  • 正则表达式初运用之认证界面的实现代码

    先给大家展示下效果图: 关键代码如下所示: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>Examples</title> <meta name="d

  • 运用正则表达式匹配所有表名

    正则表达式,又称正规表示法.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式的文本. 写出匹配SQL语句中的所有表名,备忘记录 折磨了好久,正则表达式如下: 复制代码 代码如下: \*\s+from\s+[\w\[\]]*\.?[\w\[\]]*\.?\[?(\b\w+)\]?[\r\

  • 匹配form表单中所有内容的正则表达式

    需求是这样子的: 现在有一个表单 复制代码 代码如下: <form action='mk.php'>.......</form> 表单里面的省略号代表里面的内容,里面有各式各样的标签<>. 想写一个正则表达式匹配整个form表单,包括form标签,是html文件里面的内容. 首先想到的是: 复制代码 代码如下: <form .*</form> 这样子: 复制代码 代码如下: <form [^>]*/form> 还有这样子: 复制代码

  • Java正则表达式匹配字符串并提取中间值的方法实例

    目录 前言 场景一:提取SAML2报文 解析 场景2:提取sql中的表名和字段 总结 前言 有时候正则表达式不只是匹配一下什么数字/邮箱/身份证/日期等等,还需要匹配某一段文字,并按照既定格式提取其中的某些值. 场景一:提取SAML2报文 SAML2报文内容如下,从中提取对应的attribute name和value. <saml:AttributeStatement> <saml:Attribute Name="mail"> <saml:Attribut

  • 正则表达式匹配(URL、电话、手机、邮箱)的实例代码

    正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表通常被用来检索.替换那些符合某个模式(规则)的文本.下面通过实例代码给大家介绍正则表达式匹配(URL.电话.手机.邮箱)的实例代码,一起看看吧! 废话不多说了,直接给大家贴代码了,具体代码如下所示: <!DOCTYPE html> <html lang="en"> <head> <meta ch

  • 实用正则表达式匹配和替换大全

    正则表达式非常有用,查找.匹配.处理字符串.替换和转换字符串,输入输出等.而且各种语言都支持,例如.NET正则库,JDK正则包, Perl, JavaScript等各种脚本语言都支持正则表达式.下面整理一些常用的正则表达式. 字符 描述 \ 将下一个字符标记为一个特殊字符.或一个原义字符.或一个 向后引用.或一个八进制转义符.例如,'n' 匹配字符 "n".'\n' 匹配一个换行符.序列 '\\' 匹配 "\" 而 "\(" 则匹配 "

  • 比较常用的几个正则表达式匹配数字(收藏)

    正则表达式用于字符串处理.表单验证等场合,实用高效.现将一些常用的表达式收集于此,以备不时之需. 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^\x00-\xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:\n\s*\r 评注:可以用来删除空白行 匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1

  • SQL Server查找表名或列名中包含空格的表和列实例代码

    前言 本文主要给大家介绍的是关于SQL Server查找包含空格的表和列的相关内容,为什么会有这篇文章,是因为最近发现一个数据库中的某个表有个字段名后面包含了一个空格,这个空格引起了一些小问题,一般出现这种情况,是因为创建对象时,使用双引号或双括号的时候,由于粗心或手误多了一个空格,如下简单案例所示: USE TEST; GO --表TEST_COLUMN中两个字段都包含有空格 CREATE TABLE TEST_COLUMN ( "ID " INT IDENTITY (1,1), [

  • 开发过程最全的正则表达式匹配中英文、字母和数字

    在做项目的过程中,使用正则表达式来匹配一段文本中的特定种类字符,是比较常用的一种方式,下面是对常用的正则匹配做了一个归纳整理. 1.匹配中文:[\u4e00-\u9fa5] 2.英文字母:[a-zA-Z] 3.数字:[0-9] 4.匹配中文,英文字母和数字及下划线:^[\u4e00-\u9fa5_a-zA-Z0-9]+$ 同时判断输入长度: [\u4e00-\u9fa5_a-zA-Z0-9_]{4,10} 5. (?!_) 不能以_开头 (?!.*?_$) 不能以_结尾 [a-zA-Z0-9_\

  • 正则表达式匹配闭合HTML标签(支持嵌套)

    任何复杂的正则表达式都是由简单的子表达式组成的,要想写出复杂的正则来,一方面需要有化繁为简的功底,另外一方面,我们需要从正则引擎的角度去思考问题.关于正则引擎的原理,推荐<Mastering Regular Expression>中文名叫<精通正则表达式>.挺不错的一本书. OK,先确定我们要解决的问题--从一段Html文本中找出特定id的标签的innerHTML. 这里面最大的难点就是,Html标签是支持嵌套的,怎么能够找到指定标签相对应的闭合标签呢? 我们可以这样想,先匹配最前

  • java正则表达式匹配所有数字的案例

    用于匹配的正则表达式为 :([1-9]\d*\.?\d*)|(0\.\d*[1-9]) ( [1-9] :匹配1~9的数字: \d :匹配数字,包括0~9: * :紧跟在 \d 之后,表明可以匹配零个及多个数字: \. :匹配小数点: ? :紧跟在 \. 之后,表明可以匹配零个或一个小数点: 0 :匹配一个数字0: ) 其中的 [1-9]\d*\.?\d* 用以匹配诸如:1.23.34.0.56.78 之类的非负的整数和浮点数: 其中的 0\.\d*[1-9] 用以匹配诸如:0.1.0.23.0

随机推荐