精通正则表达式

精通正则表达式是种怎样的体验?不能算多精通,只是会了正则以后就会想着用正则解决各种问题,就像上帝又给你打开一扇窗 。

平时分析日志什么的不在话下,有时还能做一些用框架或很复杂的方法才能做到的事 。

比如想用Python写点脚本抓数据 , 定义好SQL以后中以根据SQL来生成Python的Entity代码,然后用反射写DAO,这样写完SQL你就有现成的DAO可以用了,这也算是一个简单的ORM吧,虽然可以用Django等框架,但用自己生成的代码还是很爽的,想怎么改就怎么改 。

根据SQL生成Entity的代码:

#!/usr/bin/perl -W

if (!$ARGV[0])
{
print "Usage: $0 \n";
print "Example: $0 test.sql > entity.py\n";
exit;
}

print "#!/usr/bin/python\n# vim:set fdm=indent:\n# Please do NOT modify this file, it was generated by a Perl script, a next generate will restore all your work.\n\n";
print "class Entity:\n\tdef __str__(self):\n\t\treturn '\\n'.join(map(lambda attr: '%s: %s' %(attr, str(getattr(self, attr))), filter(lambda attr: not attr.startswith('__'), dir(self))))\n\n";

open FILE, $ARGV[0];
while ()
{
s/\r//g;
s/^\n$//;
s/^\(.*\n//;
s/^\s*(BEGIN|COMMIT|GRANT|CONSTRAINT|DROP).*\n//i;
s/^\s*USE\s+\w+.*\n//i;
s/^\s*\w*\s*KEY.*\n//i;
s/^\s*CREATE\s*DATABASE.*\n//i;
s/^(\s*)\/\*(.*)\*\/.*/$1#$2/;
s/^\s*CREATE\s*TABLE\s*(?:IF\s*NOT\s*EXISTS\s*)?(\w+)\s*\(?$/class $1Entity(Entity):\n\tdef __init__(self):\n/i;
s/(?<=^class )(\w)/\U$1/;
s/(?<=^class )(\w*?)_(\w)/$1\U$2/g while /^class.*?_/;
s/^\s*(\w+)\s+\w*INT.*$/\t\tself.$1 = 0/i;
s/^\s*(\w+)\s+DECIMAL.*$/\t\tself.$1 = 0/i;
s/^\s*(\w+)\s+BOOLEAN.*$/\t\tself.$1 = False/i;
s/^\s*(\w+)\s+TIMESTAMP.*$/\t\tself.$1 = 0/i;
s/^\s*(\w+)\s+\w*CHAR.*$/\t\tself.$1 = ''/i;
s/^\s*(\w+)\s+TEXT.*$/\t\tself.$1 = ''/i;
s/^\s*(\w+)\s+DATETIME.*$/\t\tself.$1 = ''/i;
s/^\).*//;
print
}
print "if __name__ == '__main__':\n\tprint(UserEntity())"

《精通正则表达式》 中文版 下载http://download.csdn.net/source/240872

先注册,记住这个网站 , 需要啥就在这里找 。

精通正则表达式中文第三版下载地址http://www.jb51.net/do/plus/jb51_down.php?aid=45&dxy=3

精通正则表达式的人:请问C#的正则对克莱尼代数支持吗支持,从语义上支持Kleene star,但并非从表达式的语法上一模一样 。
比如克莱尼{"ab","c"}* 的正则写法为 (ab|c)+,即匹配所有的
"ab", "c", "abab",
"abc", "cab", "cc", "ababab",
这些情况

寻找精通正则表达式(regexp)在matlab中应用的大侠正则表达式对象
对象,它包含正则表达式模式,并说明如何应用模式的标志 。

语法
RE = /模式/ [标志]

语法2
RE =新的RegExp(“图案”,“标志” ;])

参数
重新

要求 。将被分配到的正则表达式模式的变量名称 。

模式

要求 。要使用正则表达式模式 。如果使用语法1 , 用一个“/”字符模式 。如果语法2,引号引起的模式 。

标志

选项 。如果您使用的语法使用引号标志将导致 。该标志可以组合使用,可用:

克(全文查找出现的所有pattern)
i(忽略大小写)
M(多行搜索) / a>
全局RegExp对象正则表达式对象相混淆 。虽然这听起来像同样的事情,但他们有很大的不同 。正则表达式对象的属性只包含一个正则表达式和全局RegExp对象的属性包含的信息不断更新,每场比赛 。

正则表达式对象保存找到的字符串中的字符组合使用的模式 。创建正则表达式对象,或在通过后的字符串的方法,或者字符串被传递给一个正则表达式的方法 。最近搜索的信息被保存在全局RegExp对象 。

当你事先知道搜索字符串的语法1 。查找的字符串经常变化,或不知道用语法2,如由用户输入的字符串 。

之前使用模式参数被编译成内部格式 。语法1 , 加载的脚本,模式编译 。对于语法2,模式之前,使用或调用编译方法编制 。

----------- , 
exec方法
正则表达式模式在字符串中查找,并返回包含数组的搜索结果,。

rgExp.exec(STR)

参数
rgExp

要求 。包含正则表达式模式和标志的正则表达式对象 。

海峡

要求 。在其中执行查找的String对象或字符串文字 。


exec方法没有找到匹配,则返回null 。如果它发现一个匹配 , 则exec方法返回一个数组,并且更新全局RegExp对象的属性以反映匹配的结果 。0的数组元素中包含的完全匹配,1到n的元素包含在任何匹配的子匹配 。这相当于没有设置全局标志(g)的比赛 。

如果正则表达式设置全局标志,exec来lastIndex的值指示的位置开始寻找 。如果你没有设置一个全局标志时 , exec忽略的lastIndex的值的字符串的起始位置开始搜索 。

exec方法返回一个数组具有三个属性的输入 , index和lastIndex 。输入属性包含了整个搜索字符串 。索引属性包含查找字符串匹配的子串的位置 。lastIndex属性包含匹配的最后一个字符的下一个位置 。

例如
下面的例子说明了exec方法使用:

功能RegExpTest(){
VAR版=(ScriptEngineMajorVersion()+“ 。” + ScriptEngineMinorVersion())
(版本> = 5.5){/ /测试JScript版本 。
VAR SRC =https://www.zaoxu.com/jjsh/bkdq/“西班牙的雨主要落在平原上 。”;
VAR RE = / \ w + /克; / /创建一个正则表达式模式 。
VAR改编;
((ARR = re.exec(SRC))!= NULL)
的document.write(arr.index +“ - ”+ arr.lastIndex +“\ T“+ ARR);}

其他{
alert(”请使用更新版本的JScript);}

}

什么叫精通正则表达式正则表达式30分钟入门教程:
http://www.ourxjd.cn/FunDisplay.asp?HeadName=网页及编程&StrNewsID=20061207150538

正则表达式概念:
如果原来没有使用过正则表达式,那么可能对这个术语和概念会不太熟悉 。不过,它们并不是您想象的那么新奇 。

请回想一下在硬盘上是如何查找文件的 。您肯定会使用 ? 和 * 字符来帮助查找您正寻找的文件 。? 字符匹配文件名中的单个字符,而 * 则匹配一个或多个字符 。一个如 'data?.dat' 的模式可以找到下述文件:

data1.dat

data2.dat

datax.dat

dataN.dat

如果使用 * 字符代替 ? 字符,则将扩大找到的文件数量 。'data*.dat' 可以匹配下述所有文件名:

data.dat

data1.dat

data2.dat

data12.dat

datax.dat

dataXYZ.dat

尽管这种搜索文件的方法肯定很有用,但也十分有限 。? 和 * 通配符的有限能力可以使你对正则表达式能做什么有一个概念 , 不过正则表达式的功能更强大,也更灵活 。

---------------------------------------------------------------
早期起源
正则表达式的“祖先”可以一直上溯至对人类神经系统如何工作的早期研究 。Warren McCulloch 和 Walter Pitts 这两位神经生理学家研究出一种数学方式来描述这些神经网络 。

1956 年, 一位叫 Stephen Kleene 的美国数学家在 McCulloch 和 Pitts 早期工作的基础上,发表了一篇标题为“神经网事件的表示法”的论文,引入了正则表达式的概念 。正则表达式就是用来描述他称为“正则集的代数”的表达式,因此采用“正则表达式”这个术语 。

随后,发现可以将这一工作应用于使用Ken Thompson 的计算搜索算法的一些早期研究,Ken Thompson是Unix 的主要发明人 。正则表达式的第一个实用应用程序就是 Unix 中的qed 编辑器 。

如他们所说,剩下的就是众所周知的历史了 。从那时起直至现在正则表达式都是基于文本的编辑器和搜索工具中的一个重要部分 。

--------------------------------------------------------------
使用正则表达式
在典型的搜索和替换操作中,必须提供要查找的确切文字 。这种技术对于静态文本中的简单搜索和替换任务可能足够了,但是由于它缺乏灵活性 , 因此在搜索动态文本时就有困难了,甚至是不可能的 。

使用正则表达式,就可以:

测试字符串的某个模式 。例如 , 可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式 。这称为数据有效性验证 。
替换文本 。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字 。
根据模式匹配从字符串中提取一个子字符串 。可以用来在文本或输入字段中查找特定文字 。
例如,如果需要搜索整个 web 站点来删除某些过时的材料并替换某些HTML 格式化标记,则可以使用正则表达式对每个文件进行测试,看在该文件中是否存在所要查找的材料或 HTML 格式化标记 。用这个方法,就可以将受影响的文件范围缩小到包含要删除或更改的材料的那些文件 。然后可以使用正则表达式来删除过时的材料,最后,可以再次使用正则表达式来查找并替换那些需要替换的标记 。

另一个说明正则表达式非常有用的示例是一种其字符串处理能力还不为人所知的语言 。VBScript 是 Visual Basic 的一个子集 , 具有丰富的字符串处理功能 。与 C 类似的 Jscript 则没有这一能力 。正则表达式给 JScript 的字符串处理能力带来了明显改善 。不过,可能还是在 VBScript 中使用正则表达式的效率更高,它允许在单个表达式中执行多个字符串操作 。

---------------------------------------------------------------

建立正则表达式
构造正则表达式的方法和创建数学表达式的方法一样 。也就是用多种元字符与操作符将小的表达式结合在一起来创建更大的表达式 。

可以通过在一对分隔符之间放入表达式模式的各种组件来构造一个正则表达式 。对 JScript 而言 , 分隔符为一对正斜杠 (/) 字符 。例如:

/expression/
对 VBScript 而言 , 则采用一对引号 ("") 来确定正则表达式的边界 。例如:

"expression"
在上面所示的两个示例中 , 正则表达式模式 (expression) 均存储在RegExp 对象的Pattern 属性中 。

正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合 。

精通正则表达式的,近来帮帮忙查找
((?:Table::(?:UpdateCache|Count|Fetch)|DB::(?:LimitQuery|GetQueryResult))\(')(user|invite|ask)'
替换
\1sot_\2'

有关正则表达式的问题上面那个是一个很好的验证邮箱地址的正则表达式!你可以按照下面“断句”的思想来理解!
/(^
1. (?!(\.|-|_))
2. (?![a-zA-Z0-9\.\-_]*(\.|-|_)@)
3. [a-zA-Z0-9\.\-_]+@
4. (?!.{64,}\.)
5. (?![\-_])
6. (?![a-zA-Z0-9\-_]*[\-_]\.)
7. [a-zA-Z0-9\-_]+
8. (\.\w+)+
$)/
首先你必须知道正则表达式中的断言(?!exp)这个结构的意思是“匹配后面跟的不是exp的位置”,所以
其中1的作用为:邮箱地址不能以.-_这三个字符中的任意一个作为邮箱地址的开始部分
其中2的作用为:邮箱地址中不能包括无效的@符号,如:xudianyang@xu@126.com中@xu就视为无效的部分,验证邮箱地址时xudianyang@xu@126.com不合法
其中3的作用为:匹配合法的@部分前面内容 , 如:xudianyang@126.com中的xudianyang@部分
其中4的作用为:邮箱地址中如:xudianyang@126.com中的126部分内容长度不能超过64并且不能包含有.点号这个字符
其中5的作用为:邮箱地址中如:xudianyang@126.com中的126部分内容不能以-_两个字符
中的任意一个开始
其中6的作用为:邮箱地址中如:xudianyang@126.com中的126部分不能为126_.或者126-.
其中7的作用为:匹配邮箱地址如:xudianyang@126.com中的126部分
其中8的作用为:匹配邮箱地址如:xudianyang2126.com中的.com部分

整个正则表达式的作用就是用来匹配一个合法的邮箱地址,如果对正则表达式的断言结构理解清楚,上述的表达式还是容易理解的!
祝你成功!

哪位大侠精通正则表达式 求教大侠www.regular-expression.info
我就是看这个网站的 , 从无到自认小懂

精通正则表达式的内容简介本书适合广大Web网站开发人员、网站管理维护人员和大中专院校学生阅读,尤其适合从事与字符串处理相关工作的Web编程技术人员参考 。
精通正则表达式的目录 第1章 正则表达式概述 31.1 什么是正则表达式 31.2 第一个正则表达式 41.3 测试工具 5第2章 正则表达式基础理论 72.1 元字符 72.1.1 匹配位置的元字符 82.1.2 匹配字符的元字符 82.1.3 元字符总结 92.2 字符类 122.3 字符转义 142.4 反义 142.5 限定符 152.6 替换 212.7 分组 232.8 后向引用 242.9 零宽度断言 252.10 负向零宽度断言 272.11 匹配选项 272.12 注释 282.13 优先级顺序 282.14 递归匹配 292.15 典型正则表达式解释 30第3章 数字验证 333.1 数值验证 333.1.1 只包含数字 333.1.2 整数验证 373.1.3 指定范围的整数验证 383.1.4 实数验证 423.1.5 指定精度的实数验证 453.1.6 科学计数法的数值验证 453.1.7 二进制数值验证 463.1.8 八进制数值验证 473.1.9 十六进制数值验证 493.2 电话号码验证 503.2.1 手机号码验证 503.2.2 固定电话号码(不包括区号)验证 513.2.3 “区号+固定电话号码”验证 533.2.4 “区号+固定电话号码+分机号码”验证 543.2.5 固定电话号码验证总结 553.3 邮政编码验证 573.3.1 国内邮政编码验证 573.3.2 国际邮政编码验证 573.4 IP地址验证 583.4.1 简单IP地址验证 583.4.2 精确IP地址验证 593.4.3 子网内部IP地址验证 603.4.4 64位IP地址验证 613.5 身份证验证 633.5.1 15位身份证号码验证 633.5.2 18位身份证号码验证 643.6 银行卡号验证 653.6.1 银行卡号验证 653.6.2 信用卡卡号验证 653.6.3 中国建设银行卡号验证 663.6.4 中国工商银行卡号验证 663.6.5 中国农业银行卡号验证 66第4章 字符串验证 674.1 英文单词验证 674.1.1 小写单词验证 674.1.2 大写英文单词验证 684.1.3 英文单词的分隔符验证 694.1.4 不包含验证 714.1.5 具有重复特征的英文单词验证 744.2 文件名称和文件路径验证 764.2.1 通配符 764.2.2 指定文件扩展名的验证 764.2.3 指定文件名的验证 774.2.4 包含指定字符串的文件全名验证 784.2.5 排除两端存在空白字符的文件全名验证 794.2.6 文件路径验证 814.3 网络常用元素验证 824.3.1 电子邮件验证 824.3.2 主机名称验证 834.3.3 HTTP地址验证 854.3.4 FTP地址验证 864.4 非单词字符串验证 864.4.1 英文标点符号验证 874.4.2 中文标点符号验证 874.4.3 中文文本验证 884.4.4 特殊字符验证 884.4.5 密码验证 894.4.6 字符表的分类 93第5章 数字和字符混合验证 955.1 日期和时间验证 955.1.1 年验证 955.1.2 月验证 965.1.3 日验证 975.1.4 年月日格式的日期验证 985.1.5 24小时制时分秒格式的时间验证 995.1.6 12小时制时分秒格式的时间验证 1005.1.7 带毫秒的时间验证 1025.1.8 长格式的日期和时间验证 1035.2 通用车牌号码验证 1045.3 数学表达式验证 1065.3.1 操作数验证 1065.3.2 操作符验证 1075.3.3 简单数学表达式验证 1075.3.4 只含操作数和操作符的数学表达式验证 1085.3.5 含小括号的数学表达式验证 1095.4 编码规范验证 1115.4.1 类名称验证 1115.4.2 声明变量表达式验证 1125.4.3 函数名称验证 1125.4.4 声明函数表达式验证 113第6章 验证和处理HTML元素 1176.1 HTML元素验证基础 1176.1.1 HTML标记验证 1176.1.2 非封闭HTML标记验证 1196.1.3 封闭HTML标记验证 1196.1.4 属性赋值表达式验证 1206.1.5 HTML中的注释验证 1246.1.6 HTML中的脚本代码块验证 1256.2 非封闭的HTML元素验证 1266.3 封闭的HTML元素验证 1276.4br 元素验证 1286.5hr 元素验证 1306.6a 元素验证 1336.7input 元素验证 1376.8 处理HTML元素 1396.8.1 提取HTML标记 1396.8.2 提取HTML标记之间的内容 1406.8.3 提取URL 1416.8.4 提取图像的URL 1426.8.5 提取HTML页面的标题 142 第7章 C#常用数据类型检查与转换 1477.1 数值数据类型检查与转换 1477.1.1 整数检查 1477.1.2 实数检查 1497.1.3 整数和字符串之间的转换 1507.1.4 浮点数和字符串之间的转换 1517.2 布尔数据类型检查与转换 1537.2.1 布尔值检查 1537.2.2 布尔值和字符串之间的转换 1537.3 时间数据类型检查与转换 1547.3.1 时间数据类型检查 1547.3.2 时间和字符串之间的转换 1557.4 数据类型检查与转换应用实例 156第8章 字符串处理 1588.1 不变字符串String处理 1588.1.1 String类和对象 1588.1.2 插入字符串 1598.1.3 删除字符串 1608.1.4 替换字符串 1608.1.5 分割字符串 1618.1.6 填充字符串 1618.1.7 比较字符串 1628.1.8 连接字符串 1638.1.9 处理字符串中的空白 1658.1.10 转换字符串大小写 1658.1.11 匹配和检索字符串 1668.1.12 获取子字符串 1688.1.13 格式化字符串 1698.1.14 编码字符串 1698.1.15 不可变字符串String处理的应用 1708.2 可变字符串StringBuilder处理 1728.2.1 StringBuilder类和对象 1728.2.2 追加字符串 1728.2.3 插入字符串 1748.2.4 删除字符串 1768.2.5 替换字符串 1768.2.6 复制字符串 1778.2.7 处理字符串容量 1788.2.8 可变字符串StringBuilder处理的应用 179第9章 .NET框架中正则表达式的应用 1819.1 .NET框架中的正则表达式类库 1819.1.1 System.Text.RegularExpressions名字空间 1819.1.2 正则表达式类Regex 1829.1.3 正则表达式选项 1839.1.4 检查是否匹配表达式 1839.1.5 匹配单个匹配项 1859.1.6 匹配多个匹配项 1869.1.7 替换 1889.1.8 使用委托MatchEvaluator处理匹配结果 1899.1.9 获取分组名称 1909.1.10 分割表达式 1909.2 使用正则表达式类Regex处理字符串 1919.2.1 只包含数字验证 1919.2.2 整数验证 1919.2.3 实数验证 1929.2.4 电话号码验证 1929.2.5 邮政编码验证 1929.2.6 身份证号码验证 1929.2.7 银行卡号验证 1939.2.8 日期和时间验证 1939.2.9 车牌号码验证 1939.2.10 IP地址验证 1949.2.11 电子邮件验证 1949.2.12 URL验证 1949.2.13 提取网页标题 1949.2.14 提取网页中的HTTP地址 1969.2.15 提取网页中的图像地址 197第10章 数据验证 19910.1 验证概述 19910.2 非空验证 20110.2.1 无初始值的非空验证 20110.2.2 指定初始值的验证 20210.3 范围验证 20310.3.1 整数范围验证 20310.3.2 字母范围验证 20410.3.3 日期范围验证 20510.4 比较验证 20610.4.1 两个控件内容的比较验证 20610.4.2 指定的值和控件内容的比较验证 20710.4.3 检查控件内容的数据类型 20810.5 正则表达式验证 20910.5.1 整数验证 20910.5.2 数值验证 21010.5.3 电话号码验证 21110.5.4 身份证号码验证 21210.5.5 日期和时间验证 21310.5.6 电子邮件验证 21410.5.7 URL验证 21510.6 自定义验证 21710.6.1 自定义服务器端验证 21710.6.2 自定义客户端验证 21810.7 显示验证摘要 21910.7.1 在网页上显示验证摘要 22010.7.2 在对话框上显示验证摘要 220 第11章 ASP数据类型及其转换 22511.1 VBScript数据类型 22511.2 VBScript数据类型判断 22611.2.1 判断变量是否为数组 22611.2.2 判断变量是否为日期 22711.2.3 判断变量是否为空 22811.2.4 判断变量是否为空值 22811.2.5 判断变量是否为数值 22911.2.6 判断变量是否为对象 23011.2.7 获取变量的子类型 23111.2.8 获取变量的类型信息 231第12章 ASP字符串处理 23312.1 字符串截取、组合 23312.1.1 获取字符串长度 23312.1.2 正向截取字符串 23412.1.3 反向截取字符串 23412.1.4 从中截取字符串 23512.1.5 删除字符串前导空格 23612.1.6 删除字符串后导空格 23612.1.7 删除字符串前后导空格 23712.1.8 将数组元素连接为字符串 23812.1.9 切分字符串 23812.2 字符串查找、替换 23912.2.1 正向查找字符串 23912.2.2 反向查找字符串 24112.2.3 字符串替换 24212.3 字符串转化 24312.3.1 字符串小写转化 24312.3.2 字符串大写转化 24412.3.3 字符串倒序排列 24512.3.4 构造指定元素的字符串 24612.3.5 构造空格字符串 247第13章 ASP中正则表达式的应用 24813.1 正则表达式对象RegExp概述 24813.1.1 创建正则表达式对象 24813.1.2 指定正则表达式 24813.1.3 进行正则匹配检验 24913.2 提高匹配效率 25013.2.1 设置匹配范围 25013.2.2 指定忽略大小写 25013.2.3 进行正则匹配替换 25113.3 匹配集合Matches 25213.3.1 获取Matches集合 25213.3.2 Matches集合与Match对象 253 第14章 PHP数据类型及其转换 25914.1 PHP常见数据类型 25914.1.1 布尔型 25914.1.2 NULL型 26014.1.3 整型 26014.1.4 浮点型 26014.1.5 字符串 26014.1.6 数组 26214.1.7 对象 26314.2 类型转换 26414.2.1 变量类型变化 26414.2.2 强制类型转换 26614.2.3 字符串转换 26814.2.4 数值转换 26914.2.5 数组转换 269第15章 PHP字符串处理 27015.1 字符串分析 27015.1.1 访问字符串中的字符 27015.1.2 处理子字符串 27115.1.3 分割字符串 27315.2 字符串的整理 27515.2.1 删除字符串的空白 27515.2.2 字符串的填充 27615.2.3 字符串大小写的转换 27715.2.4 字符串的反转 27815.3 字符串的比较 27815.3.1 按ASCII码顺序比较 27815.3.2 按“自然排序”法比较 28015.3.3 按相似性比较 28115.4 字符串的查找和替换 28215.4.1 查找字符串 28215.4.2 替换字符串 28315.5 字符串的格式化 28615.5.1 格式化数字 28615.5.2 格式化字符串 28615.6 处理HTML和URL 28815.6.1 HTML实体的处理 28815.6.2 HTML标签的清理 29015.6.3 URL字符串的解析 29115.6.4 URL编码处理 29315.6.5 查询字符串的构造 293第16章 PHP中正则表达式的应用 29516.1 POSIX扩展库正则表达式函数 29516.1.1 模式匹配 29516.1.2 模式替换 29716.1.3 模式分割 29716.2 PCRE库的正则表达式函数 29816.2.1 进行正则表达式匹配 29816.2.2 取得正则表达式的全部匹配 29916.2.3 返回与模式匹配的数组单元 30016.2.4 正则表达式的替换 30016.2.5 正则表达式的拆分 30116.3 PHP与正则表达式的综合应用 30216.3.1 表单验证 30216.3.2 UBB代码 30616.3.3 分析Apache日志文件 310 第17章 JSP中数据类型及其转化 31717.1 JSP中的常用数据类型 31717.1.1 整数类型 31717.1.2 浮点类型 32017.1.3 字符类型 32117.1.4 布尔类型 32217.1.5 字符串类型 32317.2 JSP中数据类型的转换 32517.2.1 自动类型转换 32517.2.2 强制类型转换 32617.3 JSP中字符串数据的处理 32717.3.1 字符串与其他类型数据的转换 32717.3.2 字符串的分析 32917.3.3 字符串的查找与替换 33017.3.4 字符串数据的整理 33217.3.5 字符串的比较 33317.3.6 字符串的连接 33417.3.7 字符串的格式化 335第18章 JSP中正则表达式应用 33718.1 JSP中的正则表达式函数 33718.1.1 Pattern类 33718.1.2 Matcher类 33918.1.3 正则表达式常用的4种功能 34218.2 JSP中正则表达式的常见应用示例 34618.2.1 电子邮件地址的校验 34618.2.2 URL地址的校验 34818.2.3 电话号码的校验 349 第19章 JavaScript数据类型及其转换 35319.1 JavaScript数据类型 35319.1.1 数字类型 35319.1.2 字符串类型 35419.1.3 布尔值类型 35519.2 数据类型转换 35619.2.1 基本数据类型转换 35619.2.2 将字符串转换为整数 35619.2.3 将字符串转换为浮点数 356第20章 JavaScript字符串和数组 35720.1 字符串格式处理 35720.1.1 获取字符串的长度 35720.1.2 根据指定的Unicode编码返回一个字符串 35820.1.3 比较两个字符串的大小 35820.1.4 将字符串分割并存储到数组中 35920.1.5 将字符串转换为小写格式 36020.1.6 将字符串转换为大写格式 36020.2 字符串截取、组合 36120.2.1 返回字符串中指定位置处的字符 36120.2.2 获取指定位置字符的Unicode编码 36220.2.3 将一个或多个字符串连接到当前字符串的末尾 36420.2.4 从字符串中提取子串(1) 36420.2.5 从字符串中提取子串(2) 36520.2.6 从字符串中提取子串(3) 36620.3 字符串查找、替换 36720.3.1 获取指定字符(串)第一次在字符串中出现的位置 36720.3.2 获取指定字符(串)最后一次在字符串中出现的位置 36820.3.3 替换字符串中指定的内容 36920.4 字符串HTML格式化 37020.4.1 在字符串两端加入锚点标志 37020.4.2 在指定字符串的两端加上大字体标志 37020.4.3 在字符串的两端加上粗体标志 37120.4.4 在字符串两端加入斜体标签 37120.4.5 在字符串两端加上固定宽度字体标记 37220.4.6 设置字符串输出时的前景色 37320.4.7 设置字符串输出时的字体大小 37420.4.8 在字符串上加入超级链接 37520.4.9 在字符串两端加入小字体标记 37520.4.10 在字符串两端加入下划线标记 37620.4.11 在字符串两端加入下标标签 37720.4.12 在字符串两端加入上标标签 37820.5 Array对象的方法 37820.5.1 连接其他数组到当前数组末尾 37820.5.2 将数组元素连接为字符串 37920.5.3 删除数组中的最后一个元素 38020.5.4 将指定的数据添加到数组中 38020.5.5 反序排列数组中的元素 38120.5.6 删除数组中的第一个元素 38220.5.7 获取数组中的一部分数据 38220.5.8 对数组中的元素进行排序 38320.5.9 删除或替换数组中的部分数据 38420.5.10 在数组前面插入数据 38520.5.11 返回一个包含数组中全部数据的字符串 386第21章 JavaScript中正则表达式的应用 38721.1 应用正则表达式对象RegExp 38721.1.1 创建正则表达式 38721.1.2 判断字符串中是否存在匹配内容 38821.1.3 对字符串进行匹配检测 38921.1.4 编译正则表达式 38921.1.5 替换字符串中的指定内容 39021.2 匹配结果处理 39121.2.1 获取字符串中所有的匹配信息 39121.2.2 获取第一次匹配的起始位置(1) 39221.2.3 获取第一次匹配的起始位置(2) 39321.2.4 获取子匹配的结果 39421.2.5 获取与正则表达式进行匹配检测的字符串 39521.2.6 获取匹配内容的最后一个索引位置 39521.2.7 获取最近一次匹配的内容 39621.2.8 获取最近一次匹配的最后一个子匹配 39721.2.9 获取匹配内容左侧的字符信息 39721.2.10 获取匹配内容右侧的字符信息 398
谁有《Mastering Regular Expressions》的中文版《精通正则表达式》的电子书http://man.lupaworld.com/content/develop/Perl/Mastering_Regular_Expressions.pdf
楼主去下吧 。。。。
晕,是英文的 , 我再找找 。

精通正则表达式的介绍《精通正则表达式》从正则表达式的基本概念、基本语法入手,着重介绍了正则表达式在数字验证、字符串验证、数字和字符串混合验证、HTML处理等各个方面的应用 , 并基于目前流行的程序语言或应用环境(如C#、ASP.NET、JSP、JavaScript、PHP),全面介绍了创建正则表达式的方法,以及正则表达式在Web环境中的各种应用 。
精通正则表达式的版权信息书 名: 精通正则表达式作 者:沙金出版社:人民邮电出版社出版时间: 2008ISBN: 9787115169488开本: 16定价: 52.00 元
精通正则表达式怎么样正则表达式非常强大,在各种语言都有相关的包或库 。看完了前五章已经对我大有帮助!翻译也不错,读起来顺畅,内容包括了从入门到精通,后面几章主要是分语言来讲解正......

关于《精通正则表达式》中作者提供的案例的疑惑([^"] | (?<=\\)")*
[^"]匹配 所有非双引号字符,(?<=\\)"匹配在反斜杠后的双引号,中间的|表示两者同时可以有,这两种字符重复多次可以匹配 2\"x3\"
就像
(a|b)*
可以匹配aabb一样,匹配到b处字符a不匹配,就会用b匹配

精通正则表达式是种怎样的体验我算不上精通 , 但是有时候能解决大问题
工作量特别大的那种,一瞬间解决了,很爽

精通量子力学是种怎样的体验依然是一头雾水的感觉 。
就算是大师 , 薛定谔他们,也只是总结出来一些规律 。
到底为什么会是这样,他们也不知道 。

精通正则表达式是种怎样的体验不知道啊不太精通

精通openGL是种怎样的体验在公司里做牛做马,完成各种脏活累活,还没办法成功吸引到美女的注意..很惨...建议别学.

请教让文本框只允许输入数字和英文逗号的正则表达式"^[0-9,]+$"
匹配整个文本框的内容 。

判断JS 文本框数值是在1-100之间的正整数 , 用正则表达式控制输入,用FUNCTION验证

JS脚本
function test_this()
{
var reg = /^\d+$/;
if( value.constructor === String )
{
var re = value.match( reg );
return true;
}
else
{
return false;
}

if(document.formname.num.value 100)
{
document.formname.num.focus();
return false;
}
}

js验证如何限制文本框只能输入数字

精通正则表达式

文章插图

js进行数据校验使用正则表达式会简单很多,如下所示:1.js验证只能输入数字: 具体代码如下:function check_validate1(value){var reg = /^/d+$/;// 定义正则表达式if( value.constructor === String ){// 判断传入的是否是字符串var re = value.match( reg );// 规则校验return true;}return false;}2.js验证只能输入字母.数字和下划线:具体代码如下:function check_validate2(value){var reg = /^/w+$/;if( value.constructor === String ){ // 判断传入的是否是字符串var re = value.match( reg );return true;}return false;} 3.js验证固定电话:只能是数字.并且有相应的格式,如(xxx-xxxxxxx 或者 xxxx-xxxxxxx):具体代码如下:function check_validate(value){var reg = /^(/d{3,4})-(/d{7,8})/;if( value.constructor === String ){ // 判断传入的是否是字符串var re = value.match( reg );return true;}return false;}
js正则表达式如何验证文本框输入的时间格式 为下列所示楼主你好,正则匹配最重要的是你要知道所有可能的变化 。如果格式非常一致 , 就像你举的例子一样,那么一个很简单的匹配,如下就能解决问题:\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}如果是变化比较多,比如年份可能是2位,分隔符不只是"-"或者":"那么单一,亦或者空格可能不止一个,也可能不是空格是tab之类的,那么就需要更复杂一点的匹配来解决上述问题 , 如下:(\d{4}|\d{2})[^\d]\d{2}[^\d]\d{2}\s+\d{2}[^\d]\d{2}[^\d]\d{2}解释一下,开头的“(\d{4}|\d{2})”表示年份可能是4位或者2位 。然后“[^\d]”代表一个非数字的分隔符号,后面的2个“\d{2}”代表月份和日期 。之后“\s+”代表一个或者多个空格符号 , "\d{2}[^\d]\d{2}[^\d]\d{2}"代表时间及其分隔符号 , 解释参照上一句 。如果还有进步一的变化或者疑问,欢迎继续留言追问 。谢谢 。

求一个文本框只能输入数字的正则表达式,且用于B/S验证正则表达式限制输入框只能输入数字代码如下:<input type="text" onkeyup="this.value=https://www.zaoxu.com/jjsh/bkdq/this.value.replace(/[^/d]/g,'') " onafterpaste="this.value=this.value.replace(/[^/d]/g,'') " name="f_order" value="1"/其中 , onafterpaste防止用户从其它地方copy内容粘贴到输入框输入框只能输入字母和下横线的正则表达式
求大神写个正则表达式????源码已发送,请查收

求个大神帮忙写个正则表达式正则表达式:\[url="(.*)".*/url\]其中第一个匹配组就是url值
求大神帮忙写一个正则表达式/^[\u4e00-\u9fa5]+[\.\s]?[\u4e00-\u9fa5]*$/g

关于java正则表达式,求大神帮忙![A-Z]{3}_[A-Z]{7}_[A-Z]{4}_[A-Z]{2}_\d{8}_\d{3}\.xls

正则表达式如何提取信息试试这个\!(\w+)@(\w+)#(\w+)\$
怎样用java正则表达式从文档中提取需要的信息?给你代码,在一个文件夹中找那个文件中有人要查找的字符串.

-------------------------------------------------------------------
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test2 {

public static void main(String args[]) throws Exception {
execute(new File("H:\\test"), "find");
}

public static void execute(File root, String findStr) throws Exception {
File[] files = root.listFiles();
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
continue;
}
if (fileHandler(files[i], findStr)) {
System.out.println(files[i].getName());
}
}

}

public static boolean fileHandler(File file, String findStr)
throws Exception {
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
boolean result = false;
while (br.ready()) {
String line = br.readLine();
result = findCount(line, findStr);
if (result) {
break;
}
}
br.close();
fr.close();

return result;
}

public static boolean findCount(String line, String findStr) {
Pattern p = Pattern.compile(findStr);
Matcher m = p.matcher(line);
int count = 0;
while (m.find()) {
if (!"".equals(m.group())) {
return true;
}
}
return false;
}

}

Qt正则表达式 / boost正则表达式 获取信息【精通正则表达式】c++ 11 正则表达式可以不