草庐IT

preg-match

全部标签

php - 使用 preg_replace 替换字符,除非前面有转义字符

我正在尝试执行以下操作,希望周围有reg_ex专家可以提供一些帮助。我需要在我的代码中替换字符[并使其成为{。但是有些情况下[需要保持[而不是改变。所以我认为我需要使用preg_replace("[","{",$string);具有合适的正则表达式的函数,这将导致[前面没有转义字符的字符被使用让我们说。那么我怎样才能替换这个“[”而不是这个“[”呢?提前致谢 最佳答案 你可以做到这一点,它是通过约定调用negativelookbehindassertionsechopreg_replace("/(?基本上,“仅当前面没有\时才将[替

php - 使用 preg_match 在一些字符后拆分字符串

我发现这段代码最多匹配300个字符,然后在下一个最近的分词符处中断:$var='Thisisatesttext1234567890testcheck12.'#44charspreg_match('/^.{0,300}(?:.*?)\b/iu',$var,$matches);echo$matches[0];44低于300,所以我希望输出与$var相同。但是输出是:Thisisatesttext1234567890testcheck12#43chars$matches[0]没有在末尾给我点,但是$var有。任何人都可以告诉我如何获得完整的字符串(带点)? 最佳答

php - 为什么 preg_replace 给出这个输出?

我只是想不通,出于某种原因:$string="#mainparent{position:relative;top:100px;left:100px;width:4994px;}";$elementwidth="88";$re1='(.*?)';#Non-greedymatchonfiller$re2='(mainparent)';#Word1$re3='(.*)';#Non-greedymatchonfiller$re4='(width:)';$re5='(.*)';#Word2$re6='(;)';#AnySingleCharacter1$pattern="/".$re1.$re2.

PHP preg_match 部分 url

我正在尝试用PHP创建一个url路由器,它的工作原理与django类似。问题是,我不太了解php正则表达式。我希望能够像这样匹配url:/post/5//article/slug-goes-here/我有一组正则表达式:$urls=array("(^[/]$)"=>"home.index","/post/(?P\d+)/"=>"home.post",);数组中的第一个正则表达式与位于/的主页匹配,但我无法让第二个正则表达式工作。这是我用来匹配它们的代码:foreach($urlsas$regex=>$mapper){if(preg_match($regex,$uri,$matches)

php preg_match 噩梦

我无法理解正则表达式,感谢任何帮助!我有很多字符串数据,可能包含也可能不包含字符串“1/10”或“2/10”或“2/18”等。基本上,分子和分母都可以变化。让事情变得更复杂的是,一些数据输入运算符(operator)可能在分子和分母之间的任何地方放置了一个空格!!所以我的输入可能是:“x/y”或“x/y”或“x/y”或“x/y”或“x/y”......可能还有更多组合:(在任何这些情况下,我希望确定x和y是否为数字,以及它们之间是否有“/”斜线。对正则表达式感到绝望,请帮忙我正在用php编写代码,我想需要使用preg_match。感谢阅读。 最佳答案

php - 数组值与字符串 PHP 的匹配

我正在做一个小项目,我需要一些帮助。我有一个包含150,000行的CSV文件(每行有10列数据)。我正在使用fscvread读取文件,在循环期间我想将每行的其中一列(称为stringx)与10,000个单词的数组进行匹配。如果stringx中存在10,000个单词中的任何一个,则使用preg_replace将其删除。现在这一切都很好。我一切正常,但问题是它太慢了。我尝试了两种方法来匹配数组。1)我使用explode("",$stringx)将stringx转换为数组,然后使用array_diff($array_stringx,$array_10000);2)在$array_10000上

php - 允许的命名子模式字符

命名子模式中允许使用哪些字符,是否可以在命名子模式中转义?(?\w+)我想用这个例子http://www.php.net/manual/en/function.preg-match.php#example-3946并希望使用“hello-name”而不是“name”。 最佳答案 PCRE只允许字母数字字符和下划线作为子模式名称:http://regexkit.sourceforge.net/Documentation/pcre/pcrepattern.html#SEC14 关于php-允

PHP 正则表达式替换

我目前正在尝试使用PHP将token添加到CMS。用户可以输入(到WYSIWYG编辑器中)一个字符串,例如[my_include.php]。我们想提取任何具有这种格式的内容,并将其转换为以下格式的包含:include('my_include.php');任何人都可以协助编写RegExp和提取过程以允许这样做吗?理想情况下,我想将它们全部提取到一个数组中,以便我们可以在将其解析为include();?之前提供一些检查谢谢! 最佳答案 preg_replace('~\[([^\]]+)\]~','include"\\1";',$str)

php - 正则表达式 (preg_match)

这是无效的代码:Hyperlink';}?>我想要的是,如果链接前后有空格,它就不应该显示链接。所以现在它应该什么都不显示。但它仍然显示链接。 最佳答案 这样也可以匹配ID12,因为3不是空格,http:/的/也不是空格。你可以试试:preg_match_all('/^\S*\/videosite\.com\/(\w+)\S*$/i',$matchWith,$matches); 关于php-正则表达式(preg_match),我们在StackOverflow上找到一个类似的问题:

php - Preg_replace BBCode 链接

我有这个bbcode:[url=http://www.youtube.com/watch?v=h1bIEK1h150]IfIofferyoumysoul[/url]例如。我怎样才能把它变成这样:IfIofferyoumysoul 最佳答案 你需要一个正则表达式。考虑到bbcode可以有文本URL或只有URL,您将需要两个语句:$message=preg_replace('@\[url=([^]]*)\]([^[]*)\[/url\]@','$2',$message);$message=preg_replace('@\[url\]([