matches

int preg_match( string pattern

假如想象 提交于 2020-03-30 13:04:39
preg_match -- 进行 正则表达式 匹配。并且只匹配一次,注意与 preg_match _all区别。 int preg_match ( string pattern, string subject [, array matches [, int flags ]] ) 在 subjec t 字符串中搜索与 pattern 给出的 正则表达式 相匹配的内容。 如果提供了 matches ,则其会被搜索的结果所填充。$matches[0] 将包含与整个模式匹配的文本, $matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推。 flags 可以是下列标记: PREG_OFFSET_CAPTURE 如果设定本标记,对每个出现的匹配结果也同时返回其附属的字符串 偏移量 。注意这改变了返回的 数组 的值,使其中的每个单元也是一个数组,其中第一项为匹配字符串,第二项为其偏移量。本标记自PHP 4.3.0 起可用。 flags 参数来自 PHP 4.3.0 起可用。 preg_match() 返回 pattern 所匹配的 次数 。要么是 0 次(没有匹配)或 1 次,因为 preg_match() 在第一次匹配之后将停止搜索。如果出错 preg_match() 返回FALS E 如果你仅仅想要检查一个字符串是否包含另外一个字符串, 不要使用preg_match

editplus 常用正则

纵然是瞬间 提交于 2020-03-25 19:40:02
EditPlus的查找,替换,文件中查找支持以下的正则表达式: Expression Description \t Tab character. \n New line. . Matches any character. | Either expression on its left and right side matches the target string. For example, "a|b" matches "a" and "b". [] Any of the enclosed characters may match the target character. For example, "[ab]" matches "a" and "b". "[0-9]" matches any digit. [^] None of the enclosed characters may match the target character. For example, "[^ab]" matches all character EXCEPT "a" and "b". "[^0-9]" matches any non-digit character. * Character to the left of asterisk in the expression should match 0

php小经验:解析preg_match与preg_match_all 函数

别说谁变了你拦得住时间么 提交于 2020-03-16 03:07:21
php小经验:解析preg_match与preg_match_all 函数 本篇文章是对php中的preg_match函数与preg_match_all函数进行了详细的分析介绍,需要的朋友参考下 正则表达式在 PHP 中的应用 在 PHP 应用中,正则表达式主要用于: •正则匹配:根据正则表达式匹配相应的内容 •正则替换:根据正则表达式匹配内容并替换 •正则分割:根据正则表达式分割字符串 在 PHP 中有两类正则表达式函数,一类是 Perl 兼容正则表达式函数,一类是 POSIX 扩展正则表达式函数。二者差别不大,而且推荐使用Perl 兼容正则表达式函数,因此下文都是以 Perl 兼容正则表达式函数为例子说明。 定界符 Perl 兼容模式的正则表达式函数,其正则表达式需要写在定界符中。任何不是字母、数字或反斜线()的字符都可以作为定界符,通常我们使用 / 作为定界符。具体使用见下面的例子。 提示 尽管正则表达式功能非常强大,但如果用普通字符串处理函数能完成的,就尽量不要用正则表达式函数,因为正则表达式效率会低得多。关于普通字符串处理函数。 preg_match() preg_match() 函数用于进行正则表达式匹配,成功返回 1 ,否则返回 0 。 语法: int preg_match( string pattern, string subject [, array

php - preg_match

喜你入骨 提交于 2020-03-05 23:10:28
任务:匹配一个函数名或者变量名,如果碰到alpha,numeric,_以外的全部不允许通过。 实验1: <?php //第一个字符不符合就直接退出正则匹配 $str = '%abcscript%d'; var_dump(preg_match('/^(\w*)$/', $str, $matches)); var_dump($matches); #########output######## #int(0) #array(0) { #} ####################### #匹配到 $str1 = 'abcscriptd123_'; var_dump(preg_match('/^(\w*?)$/', $str1, $matches)); var_dump($matches); #########output######## #int(1) #array(2) { # [0]=> # string(14) "abcscriptd123_" # [1]=> # string(14) "abcscriptd123_" #} ####################### #中间有不匹配模式的 $str2 = 'acd%acd'; var_dump(preg_match('/^(\w*?)/', $str2, $matches)); var_dump($matches); ####

Java中正则Matcher类的matches()、lookAt()和find()的区别

三世轮回 提交于 2020-02-29 03:49:17
在Matcher类中有matches、lookingAt和find都是匹配目标的方法,但容易混淆,整理它们的区别如下: matches :整个匹配,只有整个字符序列完全匹配成功,才返回True,否则返回False。但是如果前面部分有匹配成功的,将移动下次匹配的位置(即find和matches共享匹配的位置)。 lookingAt :部分匹配,总是从第一个字符进行匹配,匹配成功了不再继续匹配,匹配失败了,也不继续匹配。 find :部分匹配,从当前位置开始匹配,找到一个匹配的子串,将移动下次匹配的位置。 reset:给当前的Matcher对象配上个新的目标,目标是就该方法的参数;如果不给参数,reset会把Matcher设到当前字符串的开始处。 使用示例代码来展示他们的区别更清晰明了: package net.oseye; import java.util.regex.Matcher; import java.util.regex.Pattern; public class IOTest { public static void main(String[] args){ Pattern pattern = Pattern.compile("\\d{3,5}"); String charSequence = "123-34345-234-00"; Matcher matcher =

bugku 变量

空扰寡人 提交于 2020-02-27 06:53:34
<?php error_reporting ( 0 ); include "flag1.php" ; highlight_file ( __file__ ); if(isset( $_GET [ 'args' ])){ $args = $_GET [ 'args' ]; if(! preg_match ( "/^\w+$/" , $args )){ die( "args error!" ); } eval( "var_dump($ $args );" ); } ?> 这是这道题目,不说了,先查函数功能。破局点就在函数的漏洞中。 error——reporting(0) 参数是0禁止报错。 highlight_file(_file_): 语法 highlight_file(filename,return) 参数 描述 filename 必需。要进行高亮处理的 PHP 文件的路径。 return 可选。如果设置 true,则本函数返回高亮处理的代码。 说明 本函数通过使用 PHP 语法高亮程序中定义的颜色,输出或返回包含在 filename 中的代码的语法高亮版本。 许多服务器被配置为对带有 phps 后缀的文件进行自动高亮处理。例如,在查看 example.phps 时,将显示该文件被语法高亮显示的源代码。要启用该功能,请把下面这一行添加到 httpd.conf : AddType

php正则表达式

ぐ巨炮叔叔 提交于 2020-02-27 06:11:14
介绍 正则表达式,大家在开发中应该是经常用到,现在很多开发语言都有正则表达式的应用,比如javascript,java,.net,php等等,我今天就把我对正则表达式的理解跟大家唠唠,不当之处,请多多指教! 需要知道的术语——下面的术语你知道多少? Δ 定界符 Δ 字符域 Δ 修饰符 Δ 限定符 Δ 脱字符 Δ 通配符(正向预查,反向预查) Δ 反向引用 Δ 惰性匹配 Δ 注释 Δ 零字符宽 定位 我们什么时候使用正则表达式呢?不是所有的字符操作都用正则就好了,php在某些方面用正则反而影响效率。当我们遇到复杂文本数据的解析时候,用正则是比较好的选择。 优点 正则表达式在处理复杂字符操作的时候,可以提高工作效率,也在一定程度节省你的代码量。 缺点 我们在使用正则表达式的时候,复杂的正则表达式会加大代码的复杂度,让人很难理解。所以我们有的时候需要在正则表达式内部添加注释。 通用模式 ¤ 定界符,通常使用 "/"做为定界符开始和结束,也可以使用"#"。   什么时候使用"#"呢?一般是在你的字符串中有很多"/"字符的时候,因为正则的时候这种字符需要转义,比如uri。 使用"/"定界符的代码如下. $regex = '/^http:\/\/([\w.]+)\/([\w]+)\/([\w]+)\.html$/i' ; $str = ' http://www.youku.com/show

python 正则表达式语法记录

ぐ巨炮叔叔 提交于 2020-02-25 23:01:27
The special characters are: "." Matches any character except a newline. "^" Matches the start of the string. "$" Matches the end of the string or just before the newline at the end of the string. "*" Matches 0 or more (greedy) repetitions of the preceding RE. Greedy means that it will match as many repetitions as possible. "+" Matches 1 or more (greedy) repetitions of the preceding RE. "?" Matches 0 or 1 (greedy) of the preceding RE. *?,+?,?? Non-greedy versions of the previous three special characters. {m,n} Matches from m to n repetitions of the preceding RE. {m,n}? Non-greedy version of the

PHP的正则表达式

不想你离开。 提交于 2020-02-22 14:22:21
正则表达式,大家在开发中应该是经常用到,现在很多开发语言都有正则表达式的应用,比如javascript,java,.net,php等等,我今天就把我对正则表达式的理解跟大家唠唠,不当之处,请多多指教! 需要知道的术语——下面的术语你知道多少? Δ 定界符 Δ 字符域 Δ 修饰符 Δ 限定符 Δ 脱字符 Δ 通配符(正向预查,反向预查) Δ 反向引用 Δ 惰性匹配 Δ 注释 Δ 零字符宽 定位 我们什么时候使用正则表达式呢?不是所有的字符操作都用正则就好了,php在某些方面用正则反而影响效率。当我们遇到复杂文本数据的解析时候,用正则是比较好的选择。 优点 正则表达式在处理复杂字符操作的时候,可以提高工作效率,也在一定程度节省你的代码量。 缺点 我们在使用正则表达式的时候,复杂的正则表达式会加大代码的复杂度,让人很难理解。所以我们有的时候需要在正则表达式内部添加注释。 通用模式 ¤ 定界符,通常使用 "/"做为定界符开始和结束,也可以使用"#"。   什么时候使用"#"呢?一般是在你的字符串中有很多"/"字符的时候,因为正则的时候这种字符需要转义,比如uri。 使用"/"定界符的代码如下. ? $regex = '/^http:\/\/([\w.]+)\/([\w]+)\/([\w]+)\.html$/i' ; $str = 'http://www.youku.com/show

preg_match_all心得

做~自己de王妃 提交于 2020-02-18 08:22:49
preg_match_all -- 进行全局正则表达式匹配   说明   int preg_match_all ( string pattern, string subject, array matches [, int flags] )   在 subject 中搜索所有与 pattern 给出的正则表达式匹配的内容并将结果以 flags 指定的顺序放到 matches 中。    搜索到第一个匹配项之后,接下来的搜索从上一个匹配项末尾开始。 特别注意 PREG_PATTERN_ORDER 和 PREG_SET_ORDER   flags 可以是下列标记的组合(注意把 PREG_PATTERN_ORDER 和 PREG_SET_ORDER 合起来用没有意义):    如果使用PREG_PATTERN_ORDER    对结果排序使 $matches[0] 为全部模式匹配的数组 , $matches[1] 为第一个括号中的子模式所匹配的字符串组成的数组,以此类推 。(即 $matches[0] [0]为全部模式匹配中的每一项,$matches[0] [1]为全部模式匹配中的第二项,$matches[1] [0]为匹配每一个括号中的第一项,$matches[1] [0]为匹配每一个括号中的第二项 )   <?php   preg_match_all ("|<[^>]+>(.*)</[