正则

Oracle数据库按正则切割字符串

匿名 (未验证) 提交于 2019-12-03 00:03:02
1、方法一: SELECT regexp_substr ( '161,83,66,81' , '[0-9]+' , 1 , LEVEL ) FROM dual CONNECT BY level <= length ( '161,83,66,81' ) - length ( regexp_replace ( '161,83,66,81' , ',' , '' )) + 1 ; 另附流程备份如下(注意最后的分号在流程中是否需要): SELECT ID , DEPARTMENTID , LASTNAME FROM HRMRESOURCE WHERE LOGINID IS NOT NULL AND DEPARTMENTID IN ( SELECT regexp_substr ( t . deptid , '[0-9]+' , 1 , LEVEL ) FROM ( SELECT ( CASE to_char ( DEPARTMENTID ) WHEN to_char ( 161 ) THEN 161 || ',' || 81 || ',' || 66 || ',' || 83 ELSE to_char ( DEPARTMENTID ) END ) deptid FROM HRMRESOURCE WHERE DEPARTMENTID = 161 ) t CONNECT BY level <=

邮箱手机号正则

匿名 (未验证) 提交于 2019-12-02 23:55:01
邮箱正则: 舒 shuzf@163 . com . cn ^[ A - Za - z0 - 9 \u 4e00 - \u 9fa5 ]+@[ a - zA - Z0 - 9 _ -]+( \. [ a - zA - Z0 - 9 _ -]+)+ $ ^ 由于邮箱的基本格式为“名称@域名”,需要使用“^”匹配邮箱的开始部分 A - Za - z0 - 9 大小写数字 \u 4e00 - \u 9fa5 汉字 @[ a - zA - Z0 - 9 _ -]+ @** ( \. [ a - zA - Z0 - 9 _ -]+)+ 多个.** $ 用“ $ ”匹配邮箱结束部分以保证邮箱前后不能有其他字符 手机号正则: 17012345678 ^((( 13 [ 0 - 9 ])|( 14 [ 579 ])|( 15 ([ 0 - 3 ]|[ 5 - 9 ]))|( 16 [ 6 ])|( 17 [ 0135678 ])|( 18 [ 0 - 9 ])|( 19 [ 89 ])) \\d { 8 }) $ 13 14 15 16 17 18 19 d { 8 }后 8 λ /** * Created */ public class CheckFormat { public static boolean isEmail ( String email ){ String check = "^(

前端常用部分正则校验

匿名 (未验证) 提交于 2019-12-02 23:51:01
一、校验数字的表达式 数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(0|[1-9][0-9]*)$ 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$ 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$ 正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$ 有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 有1~3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$ 非零的正整数:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$ 非零的负整数:^\-[1-9][]0-9〃*$ 或 ^-[1-9]\d*$ 非负整数:^\d+$ 或 ^[1-9]\d*|0$ 非正整数:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$ 非负浮点数:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ 非正浮点数:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ 正浮点数:^[1-9]

初探审计-ereg正则%00截断

匿名 (未验证) 提交于 2019-12-02 23:47:01
Ŀ¼ 01 ereg() 02 strpos() Ox3 payload Ox6 Ref <?php $flag = "flag"; if (isset ($_GET['password'])) { if (ereg ("^[a-zA-Z0-9]+$", $_GET['password']) === FALSE) { echo '<p>You password must be alphanumeric</p>'; } else if (strlen($_GET['password']) < 8 && $_GET['password'] > 9999999) { if (strpos ($_GET['password'], '*-*') !== FALSE) { die('Flag: ' . $flag); } else { echo('<p>*-* have not been found</p>'); } } else { echo '<p>Invalid password</p>'; } } ?> 01 ereg() ereg ( string $pattern , string $string [, array &$regs ] ) : int 函数用指定的模式搜索一个字符串中指定的字符串,如果匹配成功返回true,否则,则返回false。搜索字母的字符是大小写敏感的。 02

正则超大文本处理

匿名 (未验证) 提交于 2019-12-02 23:45:01
比如要去掉所有含有嘻哈的行的操作 Ctrl+F 查找: ^.*嘻哈.*$ 替换为:(空) 如果不留空行: 查找: ^.*嘻哈.*\r?\n 替换为:(空) 注意: Notepad++的[全部替换]受[方向]约束,所以如果想“向下”全部替换,要把光标放到文首 2 20151 13 2015 2 2015 2 2015 2 2015 2 2015 查找目标输入框 : 输入 “ .* 2 .*\r\n ”,使用unix换行符的输入 “ . * 2 . *\n "; 替换为 :输入框保持空白; 查找模式:正则表达式。

常见的正则判断(vue中的使用方法)

匿名 (未验证) 提交于 2019-12-02 23:42:01
常见的正则判断(vue中的使用方法) 1.常见的正则判断 会员名称: var reg =/\w/;break; 中文姓名 : var reg = /^[\u4e00-\u9fa5]{1,}$/ 邮编: var reg = /^[1-9]\d{5}$/ 邮箱: var reg = /^\w{3,}@\w{2,}\.(com|cn|net|com\.cn)$/ 手机号 : var reg = /^[1-9]\d{10}$/ 身份证 : var reg = /^[1-9]\d{16}(X|\d)$/身份证 出生日期 : var reg = /^(\d{2}|\d{4})[-\/\.]\d{2}[-\/\.]\d{2}$/ ip地址 : var reg = /^((25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)$/ 在el-form中添加:rules=“rules” <el-form ref="form" :rules="rules" :model="form" label-width="100px"> 在el-form-item中添加prop=“名字” <el-form-item label="身份证号" prop="idNum"> <el-input v-model="form

正则验证手机号码

匿名 (未验证) 提交于 2019-12-02 23:42:01
正则验证手机号码,11位数字,1开通,第二位数必须是3456789这些数字之一 boolean flag = false; Pattern regex = Pattern.compile("^1[345789]\d{9}$"); Matcher matcher = regex.matcher(mobileNumber); flag = matcher.matches(); flag =true为真。 转载请标明出处: 正则验证手机号码 文章来源: https://blog.csdn.net/m0_37997811/article/details/91789302

DFA和NFA的区别

匿名 (未验证) 提交于 2019-12-02 23:40:02
正则表达式引擎分成两类,一类称为 DFA(确定性有穷自动机) ,另一类称为 NFA(非确定性有穷自动机) 。两类引擎要顺利工作,都必须有一个正则式和一个文本串,一个捏在手里,一个吃下去。DFA捏着文本串去比较正则式,看到一个子正则式,就把可能的匹配串全标注出来,然后再看正则式的下一个部分,根据新的匹配结果更新标注。而NFA是捏着正则式去比文本,吃掉一个字符,就把它跟正则式比较,匹配就记下来:“某年某月某日在某处匹配上了!”,然后接着往下干。一旦不匹配,就把刚吃的这个字符吐出来,一个个的吐,直到回到上一次匹配的地方。 DFA与NFA机制上的不同带来5个影响: DFA对于文本串里的每一个字符只需扫描一次,比较快,但特性较少;NFA要翻来覆去吃字符、吐字符,速度慢,但是特性丰富,所以反而应用广泛,当今主要的正则表达式引擎,如Perl、Ruby、Python的re模块、Java和.NET的regex库,都是NFA的。 只有NFA才支持lazy和backreference等特性; NFA急于邀功请赏,所以最左子正则式优先匹配成功,因此偶尔会错过最佳匹配结果;DFA则是“最长的左子正则式优先匹配成功”。 NFA缺省采用greedy量词(见item 4); NFA可能会陷入递归调用的陷阱而表现得性能极差。 例如用正则式/perl|perlman/来匹配文本 ‘perlman book’

正则中的\\1\\2\\3问题

匿名 (未验证) 提交于 2019-12-02 23:40:02
import re s = "Today is 3/2/2017 。Pycon starts 5/25/2017" new_s = re.sub("(\d+)/(\d+)/(\d+)",r"\3-\1-\2",s) print(new_s) 输出结果 Today is 2017-3-2 。Pycon starts 2017-5-25 首先\1\2\3要配合前面第几组括号使用,比如这里的\3就是匹配第三组括号,\2是第二组,\1是第一组。

js 正则匹配URL,网址,带端口,带query的

匿名 (未验证) 提交于 2019-12-02 23:39:01
function isURL(url) {      const strRegex = '^((https|http|ftp)://)?'//(https或http或ftp):// 可有可无   + '(([\\w_!~*\'()\\.&=+$%-]+: )?[\\w_!~*\'()\\.&=+$%-]+@)?' //ftp的user@ 可有可无   + '(([0-9]{1,3}\\.){3}[0-9]{1,3}' // IP形式的URL- 3位数字.3位数字.3位数字.3位数字   + '|' // 允许IP和DOMAIN(域名)   + '([\\w_!~*\'()-]+\\.)*' // 域名- 至少一个[英文或数字_!~*\'()-]加上.   + '\\w+\\.' // 一级域名 -英文或数字 加上.   + '[a-zA-Z]{1,6})' // 顶级域名- 1-6位英文   + '(:[0-9]{1,5})?' // 端口- :80 ,1-5位数字   + '((/?)|' // url无参数结尾 - 斜杆或这没有   + '(/[\\w_!~*\'()\\.;?:@&=+$,%#-]+)+/?)$';//请求参数结尾- 英文或数字和[]内的各种字符   const re = new RegExp(strRegex, 'i'); // 大小写不敏感   if