草庐IT

php - 不在 () 之间时分解字符串

我试图通过逗号分解一个字符串:,但只有当它不在括号(...)之间时才行。p>下面是一些代码来说明我的意思:$string="K.VisueelNr,IFNULL(P.Partijnaam,'Leeggemeld')ASPartijnaam,R.Ras,M.Maat,DATE_FORMAT(KS.Timestamp,'%d-%c-%Y')ASDatum,H.Handelshuis,KS.Actie";print_r(str_getcsv($string,'()'));print_r(explode(",",$string));输出:Array([0]=>K.VisueelNr,IFNUL

php - 从php中的字符串中提取正 float 和负 float

对于php,我必须从字符串中提取float。我是正则表达式的新手,但我找到了一个在大多数情况下都适合我的解决方案:ExtractfloatingpointnumbersfromastringinPHP$str='152.15x12.34x11mm';preg_match_all('!\d+(?:\.\d+)?!',$str,$matches);$floats=array_map('floatval',$matches[0]);print_r($floats);唯一的问题是负值;有人可以以正确包含负数的方式为我更改表达式吗?谢谢! 最佳答案

php - 正则表达式练习 : reluctant quantifier with a lookahead assertion

你能解释一下这是如何工作的吗?这是一个例子:首先,我尝试使用下面的正则表达式来匹配条件注释中的内容://s它失败了,因为正则表达式匹配了第一个之前的所有内容最后一个-->.然后我尝试使用另一种带有先行断言的模式://s它的工作原理完全符合我的需要。但是,以下正则表达式也适用://s最后一个正则表达式在先行断言中没有不情愿的量词。现在我很困惑。任何人都可以向我解释它是如何工作的吗?也许这个例子有更好的解决方案?更新:我尝试在另一个文档中使用带有先行断言的正则表达式,但无法处理注释之间的内容。所以,这个//s(以及这个//s)不正确。不要使用它并尝试其他建议。更新:解决方案已被Jonny5

php - 每 10 个单词拆分字符串

我想每10个单词拆分一个字符串。但如果任何单词包含标点符号,则在标点符号之后拆分并继续每10个单词拆分。我正在使用它,但它只是将字符串每10个单词拆分一次。array(5){[0]=>string(66)"Loremipsumdolorsitamet,tehasomnesquegubergrendefiniebas."[1]=>string(72)"Omnesqueullamcorperpriut.Ineosinsolensatomorummoderatius,mundi"[2]=>string(66)"menandriusucu.Namandicanttritaniphilosoph

php - 计算电子邮件是否适合正则表达式?

所以我想确定是否有人在使用我们系统生成的临时电子邮件。如果用户尝试使用社交帐户(Twitter/Facebook)登录,但他们拒绝访问电子邮件,我会为我们的系统生成一封电子邮件,即AccountID@facebook.com或AccountID@twitter.com,例如123456789@facebook。com。在用户输入真实电子邮件之前,这是一封临时电子邮件。我正在尝试使用正则表达式对此进行比较。if(preg_match("/^[0-9]@twitter.com/",Auth::user()->email,$matches)){}但是我认为我的正则表达式不正确。如何检查字符串

php - 使用 PHP 从选项卡中提取和弦

我正在努力弄清楚如何使用preg_match_all和PREG_OFFSET_CAPTURE解析音乐(文本)标签。Example输入:[D#][G#][Fm][C#][Fm][C#][Fm][C#][Fm][C]Lalalalalala[Fm]lalalala[D#][Fm]ImadethissongCauseI[Bbm]loveyou[C]Imadethissongjustfor[Fm]you[D#][Fm]Imadethissongdeepin[Bbm]myheart我想要得到的输出:D#G#FmC#FmC#FmC#FmCFmD#LalalalalalalalalalaFmBbmI

javascript - 唯一编号的正则表达式。

我需要一个验证唯一值的正则表达式。它有一个唯一的9位数字,格式为000000000A(其中0是数字,A是字母)。最后一个字符串只允许字母“V”或“X”。我可以为数字做,但不确定如何修改最后一个字符串。^[1-9][0-9]{9}$希望有人能帮帮我。 最佳答案 你可以使用字符类[VX],它会匹配其中的单个字符。^[1-9][0-9]{8}[VX]$或者,OR条件如下^[1-9][0-9]{8}(V|X)$更新:要不区分大小写地匹配字母,请使用i标志,或者也可以在类中添加小写字符^[1-9][0-9]{8}[VvXx]$

php - 正则表达式删除字母 H 及其后的任何数字

请协助使用PHP中的正确正则表达式。我有一个字符串(线性格式化学式),我想在其中替换字母“H”(或)字母“H”按数字。例如:CH3NO+->CNO+C12H17ClN4OS->C12ClN4OSCNO3->CNO3H2O->OCHO->CO 最佳答案 这样做就可以了:$newVariable=preg_replace('~H\d*~','',$yourVariable);\d*表示如果有0个或多个匹配的数字,它将匹配。 关于php-正则表达式删除字母H及其后的任何数字,我们在StackO

php - 需要动态替换字符串中的参数

这是我的功能,可以帮助我生成链接。所以在这里构造我从数据库中获取数据。现在我想从数据库记录生成链接,例如http://localhost/myCrm/my_module/edit/3/1我知道它需要字符串替换,但我不知道该怎么做?functiongetLinks(array$Links,bool$actions=true){$data=$this->data;/*$datawilllooklikethis.Butitwillvaryonbecausethisfunctionwillbeusedoverdifferentschematogeneratethelinks*///$data=

php - 获取无效日期并 preg_replace 它

我用这个来替换有效日期:$date=preg_replace('~(\d{2})/(\d{2})/(\d{2,4})~','',$date);所以这样的日期:08/25/2016将被替换。我的问题是,有时用户会这样写日期:082/5/20160825/201608/252/01608/25/2010/85/2016我也想得到这个。有什么想法吗? 最佳答案 如果您的输入中有“日期之类的字符串”,您可以使用具有正向后视的正则表达式来确保数字和正斜杠block包含7到8位数字,然后是单词边界:'~\b(?=(?:\D*\d){7,8}\b