pcre

RegEx: Match nth occurrence

时间秒杀一切 提交于 2019-12-30 08:23:06
问题 I have the following string: _name=aVlTcWRjVG1YeDhucWdEbVFrN3pSOHZ5QTRjOEJZZmZUZXNIYW1PV2RGOWYrczBhVWRmdVJTMUxYazVBOE8zQ3JNMmNVKzJLM2JJTzFON3FiLzFHUE0xY0pkdz09LS1jbkkwaWoxUUl3YVhMMkhtZHpaOW13PT0"%"3D--57356371d167f" I want to match everything between = and the end " (note there are other quotes after this so I can't just select the last " ) . I tried using _name=(.*?)" but there are other quotes in the string as well. Is there a way to match the 3rd quote? I tried _name=(.*?)"{3} but the {3}

How to match all alphabet except few?

只谈情不闲聊 提交于 2019-12-30 06:11:48
问题 I want to match [a-z] only except the letters a,e,i,o,u Using negated set [^aeiou]* I could match everything except a,e,i,o,u , but how to restrict my everything to [a-z] ? This can be easily done using character class subtraction ( [a-z-[aeiou]] ) in XML Schema, XPath, .NET (2.0+), and JGsoft regex flavors, but how can I do it in PCRE? 回答1: You could use negative lookahead assertion. It's like a kind of subtraction. (?![aeiou])[a-z] ^ ^ | | subtract from DEMO 来源: https://stackoverflow.com

How can I convert from underscores to camel case with a regex?

假如想象 提交于 2019-12-30 05:38:09
问题 How can I convert names with underscores into camel case names as follows using a single Java/Perl regular expression search and replace? underscore_variable_name -> underscoreVariableName UNDERSCORE_VARIABLE_NAME -> underscoreVariableName _LEADING_UNDERSCORE -> leadingUnderscore The reason I ask for a single regular expressions is that I want to do this using Eclipse or Notepad++ search and replace. 回答1: Some Perl examples: my $str = 'variable_name, VARIABLE_NAME, _var_x_short, __variable_

pcre和正则表达式的误点

蹲街弑〆低调 提交于 2019-12-29 07:30:11
本文只是关于正则一些容易出错的地方,关于正则的学习,可参考如下两篇文章: 基础正则: https://www.cnblogs.com/f-ck-need-u/p/9621130.html Perl正则: https://www.cnblogs.com/f-ck-need-u/p/9648439.html 1.正则中所有的匹配模式,都应该理解为"匹配了某字符或字符串后,紧跟着再匹配"。这个概念很重要。 2.中括号首部使用脱字符时,表示的是紧跟着匹配不含给定字符的字符,而不是允许不匹配给定的字符。 它们大多数时候是等价的,但在匹配行尾时,意义不同,例如:Aa[^bcd]$ 所匹配的行允许是Aaa$或Aax$,但不允许仅是Aa$。 这就是正则中"紧跟着匹配"的意思。 3.(\.[0-9]+)? 可匹配小数点部分,不能写成 (\.?[0-9]*) ,后者即使不能匹配小数点,也能匹配原本处于小数点后的数值 4.星号*匹配问题0或多个字符,如果写成"a*",将可以匹配任何单个字符,只不过对于非a字符,匹配到的结果为空。 例如字符串"111aaaAAA",正则"1a*"其实从读取第2个字符进行匹配的时候就已经匹配完成了,匹配的结果不是"1aaa",而是"1"加上1前面的一个空,因为是从行首这个锚定位开始匹配的。使用sed或perl进行替换操作就很容易理解。 $ echo '111aaaAAA'

前端学PHP之正则表达式基础语法

末鹿安然 提交于 2019-12-29 07:29:19
前面的话   正则表达式是用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、匹配、查找及替换操作。在PHP中,正则表达式一般是由正规字符和一些特殊字符(类似于通配符)联合构成的一个文本模式的程序性描述。正则表达式有三个作用:1、匹配,也常常用于从字符串中析取信息;2、用新文本代替匹配文本;3、将一个字符串拆分为一组更小的信息块。本文将详细介绍PHP中的正则表达式基础语法   [注意]关于javascript的正则表达式的详细信息 移步至此 历史   在PHP中有两套正则表达式函数库,两者功能相似,只是执行效率略有差异:一套是由PCRE(Perl Compatible Regular Expression)库提供的,使用“preg_”为前缀命名的函数;另一套由POSIX(Portable Operating System Interface of Unix)扩展提供的,使用以“ereg_”为前缀命名的函数   PCRE来源于Perl语言,而Perl是对字符串操作功能最强大的语言之一,PHP的最初版本就是由Perl开发的产品。PCRE语法支持更多特性,比POSIX语法更强大   在PHP4之前,主要使用POSIX;而现在,则使用主流的PCRE   正则表达式作为一个匹配的模式,是由原子(普通字符,例如字符a到z)、特殊字符(元字符,例如*、+和?等)

Linux上安装Apache环境及安装过程报错解决方案(零初始环境)

拥有回忆 提交于 2019-12-28 16:18:44
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Note: 要从零开始搭建,就不要嫌中间遇到各种 eggache 的问题! 一.下载apache源代码 1. 下载地址: http://httpd.apache.org/download.cgi 找稳定的最新的版本(Stable Release) 得到文件 httpd-2.4.3.tar.gz 2. 上传到你的服务器目录,如:/home/tnuser/installers 解压:tar -zxvf httpd-2.4.3.tar.gz (我们下载的是源代码,所以这一步只是把源代码解压)  移动解压后的目录到目标地址:mv /home/tnuser/installers/httpd-2.4.3  /home/tnuser/ (这一步只是把解压后的目录放在合适的位置方便管理,可以不做) 3. 接下来我们需要编译刚才解压的源文件,这是重点 配置编译时的一些参数:  [plain] view plain copy print ? cd /home/tnuser/installers/httpd-2.4.3 (切换到apache源代码目录下) ./configure --prefix=/home/tnuser/apache/ (设置apache安装目录,这里的 /home/tnuser/apache/

Converting PCRE recursive regex pattern to .NET balancing groups definition

一笑奈何 提交于 2019-12-28 05:14:10
问题 PCRE has a feature called recursive pattern, which can be used to match nested subgroups. For example, consider the "grammar" Q -> \w | '[' A ';' Q* ','? Q* ']' | '<' A '>' A -> (Q | ',')* // to match ^A$. It can be done in PCRE with the pattern ^((?:,|(\w|\[(?1);(?2)*,?(?2)*\]|<(?1)>))*)$ (Example test case: http://www.ideone.com/L4lHE) Should match: abcdefg abc,def,ghi abc,,,def ,,,,,, [abc;] [a,bc;] sss[abc;d] as[abc;d,e] [abc;d,e][fgh;j,k] <abc> [<a>b;<c,d>,<e,f>] <a,b,c> <a,bb,c> <,,,> <

replace a part of a string with REGEXP in sqlite3

只谈情不闲聊 提交于 2019-12-28 01:35:47
问题 I installed REGEX support with apt-get install sqlite3 sqlite3-pcre now I can use REGEX in my queries on the bash console like DB="somedb.db" REGEX_EXTENSION="SELECT load_extension('/usr/lib/sqlite3/pcre.so');" sqlite3 $DB "$REGEX_EXTENSION select * from sometable where name REGEXP '^[a-z]+$'" But how can I update a string with an sqlite query using regex? 回答1: Sqlite by default does not provide regex_replace function. You need to load it as an extension. Here is how i managed to do it.

Linux下安装Apache的基本步骤

こ雲淡風輕ζ 提交于 2019-12-27 13:34:45
最近真的好无聊啊,这段日子是秋招的高峰期,自己去没有一点心态,总觉得实力不够,所以一直在拼命努力学习。 突然想着去申请一个云平台,自己在上面搭建搭建一个静态web网站练下手。首先,第一个任务就是要搭建Apache平台,虽然在之前的大学课程中有做过实验,但是自己并没有很重视,过了这么久都忘得差不多了,一时半会儿没什么思路所以 就在网上疯狂查资料来解决,问题层出不穷。。。在结合了众多网站的资料后,我慢慢整理思路后,决定从头再来,一步步终于搭建好了,在这个过程中,自己也踩了不少坑,若果路过的朋友你看到了这篇文章,希望这能为你提供些许帮助,少走弯路!!! 在此过程中,我不会去演示某某某安装的时候会报哪些错误,直接按照我安装的思路,应该问题不大。 进入正题!!! 一、我们先来下载一些必要的文件、我总结了以下两种方式、其作用一样   ①直接从网上下载必要的文件( 必须要连接外网才行 ) 一般在 / usr/local/src 目录中下载安装包( r.aminglinux.com) 下载 apr源码包: wget http://mirrors.cnnic.cn/apache/apr/apr-1.6.5.tar.gz 下载 apr-util源码包: wget http: //mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.gz 下载 apache源码包

Nginx 安装

老子叫甜甜 提交于 2019-12-27 10:47:42
Nginx 安装 Windows 安装 Linux 安装 rpm 包方式(推荐) 源码编译方式 Linux 开机自启动 rpm 包方式 源码编译方式 脚本 参考资料 Windows 安装 (1)进入 官方下载地址 ,选择合适版本(nginx/Windows-xxx)。 (2)解压到本地 (3)启动 下面以 C 盘根目录为例说明下: cd C: cd C:\nginx-0.8.54 start nginx 注:Nginx / Win32 是运行在一个控制台程序,而非 windows 服务方式的。服务器方式目前还是开发尝试中。 Linux 安装 rpm 包方式(推荐) (1)进入 下载页面 ,选择合适版本下载。 $ wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm (2)安装 nginx rpm 包 nginx rpm 包实际上安装的是 nginx 的 yum 源。 $ rpm -ivh nginx-*.rpm (3)正式安装 rpm 包 $ yum install nginx (4)关闭防火墙 $ firewall-cmd --zone=public --add-port=80/tcp --permanent $ firewall-cmd -