尊旭网
当前位置: 尊旭网 > 知识 >

pcre是什么

时间:2024-07-23 03:56:05 编辑:阿旭

如何在线安装pcre

PCRE的安装及使用
  1、主页地址:www pcre org
  下载pcre-8.13 tar bz2
  2、解压缩:
  tar xjpf pcre-8.13 tar bz2
  3、配置:
  cd pcre-8.13  
./configure --prefix=/usr/local/pcre-8.13 --libdir=/usr/local/lib/pcre --includedir=/usr/local/include/pcre
  configure有许多参数可配,具体参见./configure --help及手册
  4、编译:
  make
  5、安装:
  make install
  6、将库文件导入cache:
  方法1:在/etc/ld.so.conf中加入: /usr/local/lib/pcre,然后运行ldconfig
  方法2:在/etc/ld.so.conf.d/下新生成一个文件(或在其中的文件中加入同样内容),文件内容为:
  /usr/local/lib/pcre,然后运行ldconfig
7、编译自带的demo程序
gcc -Wall pcredemo.c -I/usr/local/include/pcre -L/usr/local/lib/pcre -lpcre -o pcredemo
8、执行
./pcredemo -g 'cat|dog' 'the dog sat on the cat'
./pcredemo 'cat|dog' 'the cat sat on the mat'

安装过程遇到的问题,在ubuntu 10.04下,如果直接./configure;make;make intall的话,默认安装的目录是/usr/local/,但是,即使用
gcc -Wall pcredemo.c -I/usr/local/include -L/usr/local/lib -lpcre -o pcredemo
编译,执行时会出现./pcredemo: error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory
错误的原因是没用用ldconfig加载库文件到cache。只需按第6步将库文件加载到cache就行


linux下如果把pcre库卸载了,会出现什么后果

Linux下PCRE是一个Perl库,包括perl兼容的正则表达式库,在执行正规表达式模式匹配时用与Perl5同样的语法和语义是很有用的,删除后会出现部分命令不能使用,可以重新安装,方法如下:1.下载PCRE包,首先去官网下载pcre的安装包下载地址为:http://sourceforge.net/projects/pcre/files/pcre/2.把安装包解压[root@localhost local]# tar -zxvf pcre-8.32.tar.gz3.解压之后在当前目录下生成了一个文件夹:pcre-8.32drwxr-xr-x 7 1169 1169 4096 Nov 30 18:50 pcre-8.324.配置[root@localhost pcre-8.32]# ./configure5.编译,执行make操作:[root@localhost pcre-8.32]# make6.安装,执行make install操作:[root@localhost pcre-8.32]# make installmake install结束后pcre编译安装流程就结束了。

求一个简单匹配的 pcre 正则表达式

你的这些个 sdafsdf sdf都是乱输入的吧 写正则匹配你需要的东西,而且是要找到多个你需要的东西,是要找到这多个你需要的东西的规律的,你就给出这么一个例子,难道你就是针对这个字符串一个得吗?我想不是吧,所以你尽可能的把你需要的文本的共同规律找出来,或者你不清楚了,就尽可能的把你的文本贴出来 ,然后告诉大家你需要哪些个内容,你这样,大家怎么帮你?


光圈和速度的搭配有没有什么方法?

光圈

相机镜头内有一组重叠的金属叶片,其所围成的孔径大小和开放的时间决定了一次成相的暴光量,也产生了相机的光圈和速度。

在暴光时间一定的情况下,光圈越大,那么胶片的暴光量就越大。用f/数值来表示。一般相机的光圈值有f/1.4、f/2、f/2.8、f/4、f/5.6、f/8、f/11、f/16、f/22,光圈值每向上或向下跳一格,暴光量也会相应的加倍或减半。

光圈和快门的关系

光圈开得越大,相对的暴光时间就需要越短(特殊条件下的情况不算),有很多种不同的快门速度和光圈得搭配可以得到相同得暴光值,但暴光效果却未必相同,因为还涉及到景深的问题,在后面再说。具有最大光圈的镜头被称为“快镜头”,因为这种镜头可以搭配比较快的快门速度。


正则表达式语法是什么?

正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。例如:runoo+b,可以匹配runoob、runooob、runoooooob等,+号代表前面的字符必须至少出现一次(1次或多次)。runoo*b,可以匹配runob、runoob、runoooooob等,*号代表前面的字符可以不出现,也可以出现一次或者多次(0次、或1次、或多次)。colou?r可以匹配color或者colour,?问号代表前面的字符最多只可以出现一次(0次、或1次)。相关信息构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。正则表达式是由普通字符(例如字符a到z)以及特殊字符(称为"元字符")组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。

正则表达式是什么?

问题一:什么是正则表达式 如果原来没有使用过正则表达式,那么可能对这个术语和概念会不太熟悉。不过,它们并不是您想象的那么新奇。
请回想一下在硬盘上是如何查找文件的。您肯定会使用 ? 和 * 字符来帮助查找您正寻找的文件。? 字符匹配文件名中的单个字符,而 * 则匹配一个或多个字符。一个如 'data?.dat' 的模式可以找到下述文件:
data1.dat
data2.dat
datax.dat
dataN.dat
如果使用 * 字符代替 ? 字符,则将扩大找到的文件数量。'data*.dat' 可以匹配下述所有文件名:
data.dat
data1.dat
data2.dat
data12.dat
datax.dat
dataXYZ.dat
尽管这种搜索文件的方法肯定很有用,但也十分有限。? 和 * 通配符的有限能力可以使骸对正则表达式能做什么有一个概念,不过正则表达式的功能更强大,也更灵活。

问题二:正则表达式是什么?有什么用? 简单的说就是,用一小段简单的各种字符的组合,即叫做 正则表达式,去实现复杂的:
字符串匹配,查找你到你所需要的内容,以便后期提取出来你所要的内容。
这个听起来很简单,但是很多现实的应用中,所要处理的字符串有千千万万种,各种复杂的字符,而且每个人的需求有无穷尽种,需要提取出的内容也是无穷多。而如果手动处理,写普通的if else语句去一点点判断字符串是否相等,则是无法实现的。
而用正则,就可以实现如此多的,繁杂的,极度复杂的,各种需求。

更多的内容,可以看看我所总结的:
正则表达式学习心得

再举几个实际的例子:
Notepad++正则表达式替换举例1:一次性替换多个文件的后缀
Notepad++正则表达式替换举例2:一次性替换多个路径
Notepad++正则表达式替换举例3:一次性替换多个listitem为sect4
Notepad++正则表达式替换举例4:给每一行都添加AddIcon的前缀
Notepad++正则表达式替换举例5:给book的标题和地址添加html代厂
(这里不给贴地址,请自行google搜标题,即可找到帖子地址)

问题三:正则表达式中的*是什么意思 *是一个限定符,用来修饰前一个字符或分组,限定匹配重复的数量为任意数量。
例如:
正则表达式 a* 可以匹配 a aa aaa aaaa aaaaaaa等等
正则表达式 (ab)* 可以匹配 ab abababab ababababababab等等
需要注意个是,*与+不同,+要求重复数量至少为1,*则可以为0,所以字符串为空也是可以匹配的。
以下是常用的限定符代码:
*重复零次或更多次
+重复一次或更多次
?重复零次或一次
{n}重复n次
{n,}重复n次或更多次
{n,m}重复n到m次
望采纳!

问题四:这个正则表达式是什么意思 ^是界定符,表示匹配字符串的开始;
[+-],中括号表示其内的内容都是符合要求的匹配,所以这个表示“+”或者-;
\d,[0-9]的简写形式,也就是匹配数字;
$也是界定符,表示匹配字符串的结束;
了解以上之后再来看问号(?)和星号(*):跟在一个模式内容后面的是量词,用来限定模式内容匹配的次数,例如我想要匹配最少1个、最多3个数字,例如4、20、123、226这样的,先前已经解释过单个数字可以用[0-9]或者\d表示,那么怎么表示最少匹配1次、最多3次呢?很简单,就在模式后面加上大括号配合次数表示量词,形式为{下限,上限},就是这样[0-9]{1,3}或者\d{1,3}。类似的,[0-9]{2}就表示只能匹配2个数字(多一个少一个都不行),[0-9]{2,}表示至少要有2个数字最多不限(注意大括号内的逗号),[0-9]{,2}表示最多有2个数字(注意大括号的逗号)。
针对经常用的量词,正则中也有简写,{0,1}简写就是问号(要么没有要么只有一次),{0,}简写就是星号(随便有没有也不限次数),{1,}简写就是加号(至少有一次)

问题五:正则表达式中 .*? 代表什么? 点 是任意字符
* 是取 0 至 无限长度
问号 是非贪婪模式。
何在一起就是 取尽量少的任意字符,一般不会这么单独写,他大多用在:
.*?a
就是取前面任意长度的字符,到底一个 a 出现,匹配如下
[email protected] _qwerqweraljlkjlkjlkj
得到:[email protected] _qwerqwera 这部分,如果匹配不到后面的 a 字符,则匹配为空。

问题六:正则表达式是什么意思? .匹配任意字符1个
*表示匹配重复上一个字符0到无限次
?表示匹配前一个字符0次或一次,跟在*表示非贪婪模式
默认是贪婪模式比如
会把所有字符吞下满足前面是就返回字符串
一次吃一个字符满足条件返回字符串

问题七:简单说下什么是正则表达式 简单地说就是一种格式化的匹配方式,与普通的查找方式相比,可以用一句话匹配出所有格式统一或类似的子串,而不用逐一列出每一种可能的情况,可以大幅降低程序的复杂度,提高程序的可靠性,减少处理遗漏。

问题八:正则表达式中“@”的作用是什么? C#中的字符串,如正则表达式中,有可能出现一些与C#语言相同的字符,比如\,会让编译器作为C#语言来识别,截断该字符串,并可能产生编译器错误.
为了防止这种情况的发生,在该字符串前加一个@就是告诉编译器,这些特殊字符是作为字符串中的一部分存在的,编译器就不会去编译它了.
比如路径c:\abc\d.txt将产生编译器错误,之前可以[email protected] :\abc\d.txt便得到其真实路径了.
这下明白了吧?

问题九:正则表达式的[],(),{}都指的是什么含义,有什么区别? [asd]或是[0-9a-zA-Z]
第一个表示匹配asd三个字母中任意一个字符,第一个表示匹配0-9,a-z大小写中的任意一个字符
()表示一个整体吧,比如asdf你想匹配他或是空,asdf?是错误的,问号只能匹配f的存在 ,而是使用(asdf)?,另外在一些替换中可用一些符号表示括号中匹配的内容,比如
/^$/
\1就代表(\w+)中匹配到的内容,这个正则可以匹配 ,开始和结束相同的标签
其他作用这一下也没想起了。。
{}代码匹配内容的数量如/^a{1,4}$/表示最少有一个a,最多4个a,或是/^a{2, }$/表示最少要有两个a,没上限的

问题十:.*([';]+|(--)+).* 正则表达式是什么意思 .*([';]+|(--)+).*
任意字符 ';这两个字符至少处一个,且最少一次
或者 --至少出现一次,或者多次出现 再任意字符
比如
任意字符''''''--任意字符
任意字符;;;;;;--任意字符
任意字符''''''----任意字符
任意字符''----任意字符
任意字符;----任意字符


php是什么语言

PHP是一种通用的开源脚本语言,也被称作“超文本预处理器”,PHP被广泛应用于Web网站的开发,它能够嵌入到HTML中使用。PHP的语法吸收了C语言、Java和Perl等不同开发语言的特点,更加便于开发人员的学习。PHP具有和JAVA类似的Class关键字。因为不需要虚拟机,以致速度比JAVA快5倍。PHP不仅可用来开发Web应用程序,也可以开发普通应用程序。由于PHP的解释器的源代码是公开的,所以安全系数较高的网站可以自己更改PHP的解释程序。另外,PHP运行环境的使用也是免费的。PHP可以与很多主流的数据库建立起连接,如MySQL、ODBC、Oracle等,PHP是利用编译的不同函数与这些数据库建立起连接的,PHPLIB就是常用的为一般事务提供的基库。以上内容参考 百度百科-php语言

php是什么语言

PHP是一种简单的,面向对象的,解释型的,健壮的,安全的,性能非常之高的,独立于架构的,可移植的,动态的脚本语言。PHP具有和JAVA类似的Class关键字。因为不需要虚拟机,以致速度比JAVA快5倍。PHP正迅速变成一种标准的,多用途的,面向对象的脚本语言。PHP不仅可用来开发Web应用程序,也可以开发普通应用程序。PHP是一种功能强大的脚本语言。PHP将击败PERL/Python并取而代之。PHP是下一代的PERL/Python脚本。PHP可以胜任任何PERL/Python做的工作,并且做的更多,更好,更简洁!这个行业目前还是比较吃香的,在北京薪水在3000-6000之间!目前在国内PHP与ASP应用最为广泛。而JSP由于是一种较新的技术,国内采用的较少。但在国外,JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。采用PHP的网站如新浪网(sina)、中国人(Chinaren)等,但由于PHP本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。首先,PHP缺乏规模支持。其次,缺乏多层结构支持。对于大负荷站点,解决方法只有一个:分布计算。数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量分开,群组成二维数组。而PHP则缺乏这种支持。还有上面提到过的一点,PHP提供的数据库接口支持不统一,这就使得它不适合运用在电子商务中。ASP和JSP则没有以上缺陷,ASP可以通过Microsoft Windowsd的COM/DCOM获得ActiveX规模支持,通过DCOM和Transcation Server获得结构支持;JSP可以通过SUN Java的Java Class和EJB获得规模支持,通过EJB/CORBA以及众多厂商的Application Server获得结构支持。三者中,JSP应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都采用JSP/Servlet。比较出名的如IBM的E- business,它的核心是采用JSP/Servlet的Web Sphere。它们都是通过CGI来提供支持的。但去年10月后它推出了Enfinity,一个采用JSP/Servlet的电子商务Application Server,而且声言不再开发传统软件。总之,ASP,PHP,JSP三者都有相当数量的支持者,由此也可以看出三者各有所长。正在学习或使用动态页面的朋友可根据三者的特点选择一种适合自己的语言