草庐IT

preg-split

全部标签

php - 为什么带有 PCRE_UTF8 的 PHP preg_match_all 在 CLI 上和通过 Apache/mod_php 给出不同的结果?

以下代码在通过CLI和Apache/mod_php运行时产生不同的结果:$pattern."u",//Addu(PCRE_UTF8)modifier"Non-unicode"=>$pattern);echo"Text:\n'$text'\n";foreach($regexpsas$type=>$regexp){$matches=array();$total=preg_match_all($regexp,$text,$matches);echo"\n\n";echo"$typeregex:\n'$regexp'\n\n";echo"Total$typematches:";var_dump

php - 解释这个 PHP 正则表达式的含义 (preg_match_all)

这个问题在这里已经有了答案:Reference-Whatdoesthisregexmean?(1个回答)关闭7年前。模式在PHP中是什么意思:'#^/abc/(?P[^/]++)$#si';//pleaseexpandthispattern'smeaning.什么是字符串可以匹配此模式与preg_match_all?

php - 如何拆分逗号后面没有空格的字符串?

我想要的结果是:Cats,Felines&CougarsDogsSnakes这是我能得到的最接近的。$string="Cats,Felines&Cougars,Dogs,Snakes";$result=split(',[^]',$string);print_r($result);结果是Array([0]=>Cats,Felines&Cougars[1]=>ogs[2]=>nakes) 最佳答案 您可以使用negativelookahead实现这一目标:,(?!\s)用简单的英语来说,上面的正则表达式表示匹配所有逗号only如果后面没

PHP Regex - 使用逗号分隔符拆分字符串,忽略标签之间的逗号

给定这个字符串:$somethingawesome=',,TRUE,foo';如何得到这样的数组:Array([0]=>[1]=>[2]=>TRUE[3]=>foo) 最佳答案 根据给定的字符串,您可以使用以下...$results=preg_split('/(?:]*>)?\K,/',$str);print_r($results);输出Array([0]=>[1]=>[2]=>TRUE[3]=>foo)或者当然你可以匹配所有而不是使用split..preg_match_all('/]+>|[^>

php - PHP 中 "filter_var"和 "preg_replace"之间的后端区别是什么?

我有来自数据库(非常受控的输入)的数字,它们前后都有下划线。它们是这样存储的:_51__356_它们不会以任何其他格式存储,但有时我只需要从中获取数字。我选择使用其中之一$x=filter_var($myNumber,FILTER_SANITIZE_NUMBER_INT);或$y=preg_replace("/[^0-9]/","",$myNumber);我不确定后端两者之间的细微差别,但它们都能产生我所需要的(无论如何,我是这么认为的),所以我使用哪个并不重要。使用这些选项的优缺点是什么?(例如,是否有人使用数组或其他我可能需要了解的奇怪事物?有人使用了太多资源吗?)

php preg_split 没有松散的文本,。 : and so forth

我尝试使用preg_split拆分文本,但我没有得到它的正则表达式。例子:Isearch1,regexto:no.Or...yes!应该得到:Array([0]=>I[1]=>search[2]=>1[3]=>,[4]=>regex[5]=>to[6]=>:[7]=>no[8]=>.[9]=>Or[10]=>...[11]=>yes[12]=>!)我尝试了以下代码:preg_split("/([\s]+)/","Isearch1,regexto:no.Or...yes!")结束于:Array([0]=>I[1]=>search[2]=>1,[3]=>regex[4]=>to:[5]=>

php - preg_match 与数字 PHP

当我使用它时:preg_match('/^[0-9]{1,10}(\.[0-9]{1,9})?$/',0.0001);返回值为1,当我使用它时:preg_match('/^[0-9]{1,10}(\.[0-9]{1,9})?$/',0.00001);返回值为0。有人可以告诉我为什么吗?谢谢! 最佳答案 因为小float通常使用指数表示法显示,所以0.00001被转换为1.0E-5,这与正则表达式不匹配。如果你只是这样做,你可以看到这个:echo0.00001;正则表达式应该与字符串一起使用,而不是数字。preg_match('/^[

php - preg_match_all 用逗号分隔,值可能包含空格

我目前有一个preg_match_all用于不包含空格的常规字符串,但我现在需要让它适用于每个空格之间的任何内容。我需要abc,hh,heythere,123,hey_there_返回abchh嘿``123hey_there_但是当涉及到空格时,我当前的脚本就会停止。preg_match_all("/([a-zA-Z0-9_-]+)+[,]/",$threadpolloptions,$polloptions);foreach(array_unique($polloptions[1])as$option){$test.=$option.'>';} 最佳答案

php - 如何在 php 中使用 preg_match?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion我想创建一个表单验证,我想确保用户不会在文本框中输入任何危险代码,所以我想使用preg_match来做到这一点。我不喜欢用户输入的是(不是a-z中的单词,A-Z中的单词和数字)。现在如何在这里使用preg_match?

php - 正则表达式使用逗号 (,) 分隔符拆分字符串,但如果逗号在大括号 {,} 中则忽略

我需要一个正则表达式来使用逗号(,)分隔符拆分字符串,但在下面的示例中如果逗号位于花括号{,}中则忽略;"asd",domain={"id"="test"},names={"index"="user.all","show"="user.view"},test="test"进入(应该是)"asd"domain={"id"="test"}names={"index"="user.all","show"="user.view"}test="test"问题:(不是这个)"asd"domain={"id"="test"}names={"index"="user.all""show"="user.