正则

php正则

泄露秘密 提交于 2019-11-28 04:48:39
正则:检测字符串的一条规则 Json 本质还是字符串 正则的定义 简写 / 规则 / 比如 /45613/ 检测字符串必须有 45612; 字符串和正则有关的方法。 Match() 查找找到一个或多个正则表达式的匹配 有就返回查找的结果 没有就是 null 语法: string.match(reg) Search() 查找与正则表达式相匹配的值 检索不到返回 -1 返回查找的字符首次在字符串中的位置 Replace() 在字符串中查找匹配的子串 并替换与正则表达式匹配的子串 如果检索到 返回替换后的新字符串 如果没有检索到 返回字符串 语法: string.searc(red) 注意的 1. 字符串中的 . 在正则中如果就代表一个 . 需要转义 \. /./ 代表任意一个字符 /\./ 代表一个 . 2. 正则对象的两个方法 Text() 检索字符串中指定的值 返回 true 或 false 语法 reg.test(string) Exec() 检索字符串中指定的值 返回一个数组 有找到的值并确定其位置找不到返回 null 正则的特征 1. 正则的懒惰性: 正则在捕获的时候 当第一次捕获成功了 就直接返回 不再向下捕获 这就叫正则的懒惰性 解决正则的懒惰性 在正则的后面加上修饰符 /g 2. 正则的贪婪性: /\d+/ 去捕获一个字符串中的数字 他会尽可能多的捕获全部符合条件的

js 正则

牧云@^-^@ 提交于 2019-11-28 04:05:54
正则 1.概念:封装了一些字符串进行模式匹配的规则 创建方法 var reg=/\d/gi; var reg=new RegExp("d","gi") #字符串支持正则表达式的方法有四个 1.str.split(reg) 把字符串切分为数组 2.str.search(reg) 查找字符串中符合正则的字符 返回值为找到的第一个符合条件的索引值 3.str.match(reg) 匹配正则条件的值返回值为数组 4.str.replace(reg,"*") 把符合正则条件的所有值都替换为* #正则方法 1.stg.test(str) 返回值是true flase 验证字符串中有没有符合正则表达式的部分 2.exec 既可以查所有字符,又能找到相应字符 var arr=reg.exec(str) #备选字符集 [012346789] 注意[]里面不管有多少个字符只能选择一个 编码是连续的字符可以[0-9][a-z][A-Z] [^0-9]中括号里的^代表除了那些字符 var reg=/红|黑/g; var reg=/[红黑]/g; 预定义字符串 \d [0-9] 纯数字 \w [A-Z a-z] 单词字符 \s 空白字符 \D [^0-9] 除了数字 \W [^A-Z a-z] 除了单词字符 \S 除了空白字符 \. 就是一个. \? 可有可无 # 固定数量的量词 var reg=/\d{6

js正则

懵懂的女人 提交于 2019-11-28 04:05:39
正则:检测字符串的一条规则。目标就是字符串 只要表单提交的都是字符串 Json 的本质 还是字符串 是一种对文本字符串进行验证、格式化的非常强大的工具。使用正则表达式可以轻松的识别和操纵文本,从而节省大量的编程时间。例如验证用户的输入的电话号码、身份证号、电子邮件、QQ号等是否符合正确格式。 正则基本语法: var reg = /pattern/ flags; //构造函数方式创建 var reg = new RegExp(pattern,flags); 一、元字符 字符 匹配 \ 在字面意义和特殊意义之间切换 . 除了换行符外的任何字符 ^ 脱字符,字符串的开头 $ 字符串的结尾 * 匹配前一项零次或多次,等价于{0,} + 匹配前一项一次或多次,等价于{1,} ? 匹配前一项0次或1次,等价于{0,1} \s 任何一个空白字符(\f \n \r \t \v ) \S 非空白字符 \f 换页符 \n 换行符 \r 回车符 \t 制表符 \d 0~9任意数字,相当于[0-9] \D 任何非数字 \w 任何字母、数字及下划线 \W 除数字、字母及下划线外的其他字符 {n} 前面的字符正好出现n次,n代表数字 {n,} 前面的字符至少出现n次, {n,m} 前面的字符出现n~m次。 [abcd] 与[ ]中任何字符匹配的字符集 [^abcd] 与[ ]中任何字符都不匹配的字符集 [A

xgboost和GBDT对比;xgboost和lightGbm

为君一笑 提交于 2019-11-28 03:55:55
1. 传统GBDT以CART作为基分类器,特指梯度提升决策树算法,而XGBoost还支持线性分类器(gblinear),这个时候XGBoost就相当于带L1正则和L2正则项的 logistics回归(分类问题)或者线性回归(回归问题) 2. 传统的GBDT只用到一阶导数信息,xgboost则对代价函数进行了二阶泰勒展开,同时用到了一阶和二阶导数。 3. xgboost在代价函数里加入了正则项,用于控制模型的复杂度。正则项里包含了树的叶子节点个数、每个叶子节点上输出的score的L2模的平方和。从Bias variance tradeoff角度来讲,正则项降低了模型的variance,使学习出来的模型更加简单,防止过拟合,这也是xgboost优于传统的GBDT的一个特性 来源: https://www.cnblogs.com/ivyharding/p/11390735.html

简单正则匹配QQ邮箱

自古美人都是妖i 提交于 2019-11-28 03:49:45
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <script src="../jquery-3.1.0.js" ></script> <title></title> <style type="text/css"> #txt{ border: 2px solid #90EE90; font-size: 20px; } #txt2{ margin-top: 100px; width: 200px; height: 50px; border: 2px solid blue; text-align: center; font-size: 25px; } #btn{ width: 200px; height: 50px; font-size: 40px; font-weight: bold; background-image: linear-gradient(pink,lightblue,lightgreen); } </style> </head> <body> <textarea rows="5" cols="30" id="txt"></textarea><br> <input type="button" name="btn" id="btn" value="验证" /><br> <input type="text" name=

最准确的身份证号码正则验证

感情迁移 提交于 2019-11-28 00:05:11
//身份证号 idNoFormatCheck: function (value) { var num = value.toUpperCase(); // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X。 var reg = /^(\d{18,18}|\d{15,15}|\d{17,17}X)$/; if (!reg.test(num)) { return false; } // 校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。 // 下面分别分析出生日期和校验位 var len, re; len = num.length; if (len == 15) { re = new RegExp( /^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/); var arrSplit = num.match(re); // 检查生日日期是否正确 var dtmBirth = new Date('19' + arrSplit[2] + '/' + arrSplit[3] + '/' + arrSplit[4]); var bGoodDay; bGoodDay = (dtmBirth.getYear() == Number(arrSplit[2])) && (

scikit-learn学习笔记

瘦欲@ 提交于 2019-11-27 21:12:13
在scikit-learn中,LinearRegression,Lasso,Ridge,ElasticNet都是回归模型。 而LogisticRegression是分类模型。 Lasso是LinearRegression带有L1正则项, Ridge是LinearRegression有L2正则项, ElasticNet是LinearRegression同时有L1和L2正则项。 而LogisticRegression可以通过参数设置使用L1或者L2正则项。 来源: CSDN 作者: 新技能get 链接: https://blog.csdn.net/m0_37778634/article/details/85064747

什么是正则化

二次信任 提交于 2019-11-27 19:41:59
转自: https://charlesliuyx.github.io/2017/10/03/%E3%80%90%E7%9B%B4%E8%A7%82%E8%AF%A6%E8%A7%A3%E3%80%91%E4%BB%80%E4%B9%88%E6%98%AF%E6%AD%A3%E5%88%99%E5%8C%96/ 【内容简介】主要解决什么是正则化,为什么使用正则化,如何实现正则化,外加一些对范数的直观理解并进行知识整理以供查阅 Why & What 正则化 我们总会在各种地方遇到正则化这个看起来很难理解的名词,其实它并没有那么高冷,是很好理解的 首先,从使用正则化解决了一个什么问题的角度来看:正则化是为了防止过拟合, 进而增强泛化能力。用白话文转义,泛化误差(generalization error)= 测试误差(test error),其实就是使用训练数据训练的模型在测试集上的表现(或说性能 performance)好不好 如上图,红色这条“想象力”过于丰富上下横跳的曲线就是过拟合情形。结合上图和正则化的英文 Regularizaiton-Regular-Regularize,直译应该是:规则化(加个“化”字变动词,自豪一下中文还是强)。什么是规则?你妈喊你6点前回家吃饭,这就是规则,一个限制。同理,在这里,规则化就是说给需要训练的目标函数加上一些规则(限制),让他们不要自我膨胀

phpstorm webstorm编辑器正则替换

此生再无相见时 提交于 2019-11-27 13:28:05
首先勾选Match Case 和 Regex 正则规则:无须添加//左右分解符,直接写正则表达式,注意应该转义的部分,需要原封不动替换的部分加上括号 替换规则:正常书写正则,要继承下来的字符使用$1、$2进行标识 下面是我替换前端代码做国际化用到的,可以参考下 标签文本 >([(\u4E00-\u9FA5\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b)]+)< >{ formatMessage({ id: 'userlist.table.$1' }) }< “”文本 "([(\u4E00-\u9FA5\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b)]+)" { formatMessage({ id: 'userlist.form.$1' }) } 纯文本 ([\u4E00-\u9FA5]+[(\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b)]*)\n { formatMessage({ id: 'userlist.form.$1' }) }\n ‘’文本 '([(\u4E00-\u9FA5

【Flask教程04】正则匹配路由

依然范特西╮ 提交于 2019-11-27 12:43:44
在 web 开发中,可能会出现限制用户访问规则的场景,那么这个时候就需要用到正则匹配,根据自己的规则去限定请求参数再进行访问 具体实现步骤为: 导入转换器基类:在 Flask 中,所有的路由的匹配规则都是使用转换器对象进行记录 自定义转换器:自定义类继承于转换器基类 添加转换器到默认的转换器字典中 使用自定义转换器实现自定义匹配规则 代码实现 导入转换器基类 from werkzeug.routing import BaseConverter 自定义转换器 # 自定义正则转换器 class RegexConverter(BaseConverter): def __init__(self, url_map, *args): super(RegexConverter, self).__init__(url_map) # 将接受的第1个参数当作匹配规则进行保存 self.regex = args[0] 添加转换器到默认的转换器字典中,并指定转换器使用时名字为: re app = Flask(__name__) # 将自定义转换器添加到转换器字典中,并指定转换器使用时名字为: re app.url_map.converters['re'] = RegexConverter 使用转换器去实现自定义匹配规则 当前此处定义的规则是:3位数字 @app.route('/user/<re("[0-9