草庐IT

REGEX_EXTRACT

全部标签

php - Mod Rewrite Regex - 多重负前瞻

我目前有可用的ModRewriteRegex:RewriteEngineOnRewriteCond%{QUERY_STRING}^(.*)$RewriteRule^(.*/)?((?:cmd)[^/]*)/((?!(?:cmd)[.+]*)(.+))$1?$2=$3&%1[L]该正则表达式采用以下URL并将其转换为紧接在下方的URL:www.site.com/cmd1/param/cmd2/param2/stillparam2并把它变成www.site.com/index.php?cmd1=param&cmd2=param2/stillparam2这很好用,但我还想创建另一个否定先行断

PHP DOM 节点 : how to extract not only text but HTML tags also

我正在尝试制作一个脚本来抓取网站以检索最新的新闻更新。不幸的是,我遇到了一个小问题,我对DOM的有限了解似乎无法解决。我试图抓取的页面构建如下:AuthorContentinHTMLDate我可以很好地检索我需要的字段,除了内容。使用$td->nodeValue我检索文本形式的内容,而我想要它在HTML中(那里有'a'标签,'blockquote'等)这是我的代码:try{$html=@file_get_contents("test.php");checkIfFileExists($html);$dom=newDOMDocument();@$dom->loadHTML($html);$

PHP Regex 拆分 SQL 字段列表

我正在寻找一个正则表达式来从SQLSELECT语句中拆分字段列表。我已经从查询的其余部分中提取了字段列表,所以剩下的字符串可能如下所示:field1,field2,field3,CONCAT(field1,field2)ASconcatted,IF(field1=field2,field3,field4)ASlogic我认为合乎逻辑的方法是用逗号分隔字符串,前提是逗号没有出现在括号内,所以我只需要找到正确的正则表达式来做到这一点......?我试图实现的最终结果是找出哪些字段似乎是从表中直接选择的,哪些字段是由SQL表达式组成的,以便我稍后可以决定是否使用WHERE过滤它们或HAVIN

php - CodeIgniter form_validation 中的 regex_match 生成 : Message: preg_match(): No ending delimiter '/' found

我一直在寻找其他类似的帖子,问题似乎是一个未转义的斜线。但是我正在逃避他们。字符串应该是这样的:23/12/2012这就是我声明验证规则的方式:regex_match[/^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/(19|20)[0-9]{2}$/]结束分隔符在那里,日期的两个中间斜杠用反斜杠转义。我也试过这个略有不同,但我得到了同样的错误:regex_match[/^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/(19|20)\d\d$/]哪里出错了?编辑:按照您的建议,我尝试使用回调函数。这是声明,

php - 如何使用 RegEx 删除 html 元素及其内容

我有一个divid想要从输出中删除Contentherewhichincludesotherelementsetc..)如何使用PHP和正则表达式删除此div及其中的所有内容?谢谢。 最佳答案 简单的答案是您不需要。您可以改用PHP的众多HTML解析器之一。正则表达式是一种不稳定且容易出错的HTML操作方式。也就是说你可以这样做:$html=preg_replace('!.*?!is','',$html);但是很多事情都可能与此有关。例如,如果它包含一个div:Contentherewhichincludesotherelement

php - RegEx - 如何提取价格?

我如何从以下字符串中提取美元金额“一些文本会出现在这里,而且越来越多,然后会有一些价格34.03美元,但这并不意味着字符串会结束”我想提取$34.03...如果没有美分我也想提取“一些文本会出现在这里,而且越来越多,然后会有一些价格34美元,但这并不意味着字符串会结束”这里我要提取$34 最佳答案 我不是正则表达式专家,但能够用RegExr做出以下内容./(\$[0-9]+(\.[0-9]{2})?)/匹配$35.03和$35。要接受像$35,000.52这样的格式,您需要包含,/(\$[0-9,]+(\.[0-9]{2})?)/这

php - 更改 RegEx 以允许英文和日文字符

这是我的正则表达式代码:"onlyLetterSp":{"regex":/^[a-zA-Z\\']+$/,"alertText":"*Lettersonly"}如何更改它以允许英文字符和日文字符? 最佳答案 我找到了这个链接:http://www.localizingjapan.com/blog/2012/01/20/regular-expressions-for-japanese-text/对于不同类型的日语,显然有一些不同的字符集。例如平假名是:[\x3041-\x3096] 关于p

php - regex_match 的表单验证规则

我试图弄清楚我在这个验证规则上做错了什么,因为它说了这个错误。验证规则:$this->form_validation->set_rules('username','Username','trim|required|xss_clean|regex_match[a-z0-9]');错误:Severity:WarningMessage:preg_match()[function.preg-match]:Delimitermustnotbealphanumericorbackslash 最佳答案 首先,您需要修正您的模式。您现在的模式是a-

php - glob 函数中的 RegEx 模式

我在一个函数中收到一个文件名。我想从其他目录返回所有与此文件(按文件名)相似的文件。我写了这个:$thumbDir=$this->files_path.'thumbs/';$toglob=$thumbDir.pathinfo($name,PATHINFO_FILENAME).'_[0-9]+\x[0-9]+_thb.'.pathinfo($name,PATHINFO_EXTENSION);foreach(glob($toglob)as$key=>$value){echo$value;}但它不起作用。我搜索文件名是:oldFileName_[oneormoredigits]x[oneor

php - Zend RegEx Validator 的自定义有意义的错误消息

我正在验证表单中的文本字段,如下所示:$name=newZend_Form_Element_Text('name');$name->setLabel('FirstName:')->setRequired(true)->addFilter(newZend_Filter_StringTrim())->addValidator('regex',true,array('/^[(a-zA-Z0-9)]+$/'))->addErrorMessage('Pleaseenteravalidfirstname');我想要完成的是-如何显示有意义的错误消息?例如:如果名字是“XYZ-”,我该如何显示“-不