正则表达式
zpjing~.~
每天进步一点点~.~
展开
-
工欲善其事,必先利器—Regex正则表达式工具
一、免费的工具RegexMatchTracer下载地址:链接: https://pan.baidu.com/s/1nuRibwP 密码: 5j8h匹配按钮相当于preg_match 全部匹配按钮相当于preg_match_all二、在线正则表达式工具http://www.regextester.com/?fam=98296https://regexr.com/1、使用...原创 2018-12-20 17:27:10 · 5493 阅读 · 0 评论 -
1、圆括号使用之反向引用和非捕获?:——PhpStorm 通过正则表达式批量查找替换
一、需求项目中iconv()函数使用时,一部分使用了“//IGNORE”配置,一部分没有使用,现在需要将项目中所有用到iconv()函数的位置都添加“//IGNORE”配置;$cusTitle = iconv('utf-8','GBK',$cusInfo['system_custom_'.$this->lan_key].$title_suffix);修改为:$cusTit原创 2018-12-20 20:12:00 · 1040 阅读 · 0 评论 -
正则表达式 贪婪匹配和懒惰匹配
1、贪婪匹配和懒惰匹配 影响的是正则表达式的限定符的匹配结果; 在限定符后面加上?,则为懒惰模式;在限定符后面不加?,则为贪婪模式;常用的限定符如下:如下截图参考:http://deerchao.net/tutorials/regex/regex.htm2、实例贪婪模式:会匹配最长的以开始位置开始,以结束位置结束的字符串;懒惰模式:匹配尽可能少的字符贪婪模式 ...原创 2018-08-29 19:40:15 · 27568 阅读 · 0 评论 -
PHP 格式化金额(每三位加一逗号)
金额显示时,为了方便辨认一般都会每三位数字加一个逗号,正则表达式实现方法;<?php echo preg_replace('/(?<=[0-9])(?=(?:[0-9]{3})+(?![0-9]))/', ',', $appInfo['approval_salary_target']); ?> ...原创 2018-08-28 16:56:29 · 3031 阅读 · 0 评论 -
preg_match 匹配特定字符后面的内容
1、需求如下内容,获取JSESSIONID后面的6F2FB1EA915913DEF3256D11101F1DF3# Netscape HTTP Cookie File# http://curl.haxx.se/rfc/cookie_spec.html# This file was generated by libcurl! Edit at your own risk.account.chsi.co...原创 2018-06-25 17:54:21 · 5448 阅读 · 0 评论 -
preg_replace—替换内容中包括$特殊符号时
一 问题描述用户登录时,登录功能各用户都是ok的,某一用户出现登录失败的情况,经发现是此客户登录密码中包含特殊符号$。二 分析问题框架中where字段的拼接是通过preg_replace方式实现的,如下代码是一个精简的demo示例:$str = "password = ?";$value = "1$$$439u4";$pattern[] = "/[']?\?['原创 2017-09-15 14:52:13 · 5817 阅读 · 1 评论 -
Regex—匹配特定数字前面的一个单词
一 需求 匹配到1前面并且是'='号分隔的单词$patten = "/\b(\w+)\b\s*[^d][^and]?\s*\\?3/";$conditionString = 'rarity = ?1 exp_start ?3';$matches = array();preg_match($patten, $conditionString, $m原创 2017-08-15 18:14:40 · 1383 阅读 · 0 评论 -
Regex—匹配特定字符后的一个字符
一 需求匹配user_id = ?后面的数字二 实现*对应代码如下:$tableShardKey = 'user_id';$str = "user_id = ?2 and id = ?1";$pattern = "/.*?$tableShardKey\s*.+?\s*\?(\d+).*?/";// var_dump($pattern);preg_matc原创 2017-08-09 15:10:38 · 6421 阅读 · 0 评论 -
Notepad++ 和正则表达式 快速处理文本
一、需求 如下文本需要在excel中在两个单元格中显示,并且名称在前,编码在后; 直接复制到单元格会直接在一个单元格显示,想要在两个单元格显示,需要把冒号替换\t,并把名称和编码前后位置替换,替换完成后直接复制就行。603: 托福720: 无786: 英语专四304: 雅思489: CET4486: 英语专八811: CET6937: 托业...原创 2019-07-03 10:42:31 · 1096 阅读 · 0 评论