草庐IT

lambda表达式

全部标签

php - 如何使用正则表达式从 MP3 文件名中获取艺术家和标题?

感谢您抽出时间阅读。我有一个MP3文件文件夹,我想使用PHP来获取艺术家和标题,因为ID3标签不存在。一个例子:01。Wham-LastChristmas.mp302。玛丽亚凯莉-AllIWantForChristmasIsYou.mp303。创可贴-他们知道现在是圣诞节吗.mp3我相信这是可能的,我只是对正则表达式不够Eloquent。谢谢,jack。 最佳答案 嗯,对于大多数情况,正则表达式^\d+\.(.*)-(.*)\.mp3$应该可以。^startofthestring\d+atleastonedigit\.alitera

php - 这个正则表达式是什么意思?

谁能告诉我它试图准确匹配什么?$exp='/[\s]+col[\s]*=[\s]*"([^"]*)"/si'; 最佳答案 如果添加/x,您可以编写带注释的正则表达式修饰符。所以这是一个冗长的文档版本(对于复杂的版本总是可取的):$exp='/[\s]+#oneormorespacescol#col[\s]*#zeroormorespaces=#=[\s]*#spaces"#"([^"]*)#anythingbut"andzeroormoreofit"#"/six';你有时也会看到[^]代替[^"]使此类正则表达式对格式错误的html

php - 正则表达式 PHP 仅在未被引号包围时才匹配

我有一些正则表达式,我在整个HTML页面上运行以查找字符串并替换它们,但是如果字符串在单引号或双引号中,我不希望它匹配。当前正则表达式:([a-zA-Z_][a-zA-Z0-9_]*)我想匹配steve、john、cathie和johnlikestowalk(x3)但不是"steve"、'sophie'或"john"'likes'"cake"我已尝试(^")([a-zA-Z_][a-zA-Z0-9_]*)(^")但没有找到匹配项?测试用例:(steve=="john")wouldreturnsteve("test"=="test")wouldnotreturnanything(boob

php - 使用正则表达式验证 CSV 中的项目

我有一个CSV字符串,我试图通过正则表达式验证它以确保它只有N个项目。我尝试了以下模式(查找2个项目):/([^,]+){2}/但它似乎不起作用,我猜是因为内部模式不够贪婪。有什么想法吗?理想情况下,它应该适用于PHP和Javscript正则表达式引擎。更新:出于技术原因,我真的想通过正则表达式而不是其他解决方案来做到这一点。CSV未被引号括起来,值也不包含逗号,所以这不是问题。/([^,]*[,]{1}[^,]*){1}/这是我现在的位置,哪种工作但仍然有点难看,并且与一个项目匹配有问题。CSV看起来像:apples,bananas,pears,oranges,grapefruit

php - 使用正则表达式选择一个 YAML block

我有一个很大的YAML文件,我想使用正则表达式选择整个节点。例如:Node1:Child:GrandChild:fooNode2:AnotherChild:AnotherGrandChild:barNode3:LastChild:LastGrandChild:foo如何使用正则表达式选择上面例子中的所有Node2,并返回:Node2:AnotherChild:AnotherGrandChild:bar 最佳答案 因为该节点中的所有其他内容都是缩进的(如果我理解YAML正确的话),这至少在您的示例字符串中有效:$mask='~(^%s

php - 负面回顾正则表达式捕获的问题

我尝试匹配电子邮件地址,但前提是它们前面没有“mailto:”。我试试这个正则表达式:"/(?针对这个字符串:'EMAIL...otheremail@domain.com'我希望只捕获'otheremail@domain.com',但我也收到'omeemail@domain.com'-查看缺失's'.我想知道这里出了什么问题。在回顾断言之后我不能有一个正常的正则表达式吗?我在PHP中的整个示例如下所示:$testString='EMAIL...otheremail@domain.com';$pattern="/(?');print_r($matches);echo('');谢谢!

php - 获取正则表达式组中匹配字符的数量

我可能正在突破正则表达式的界限,但谁知道呢......我在php工作。比如:preg_replace('/(?:\n|^)(={3,6})([^=]+)(\1)/','$2',$input);有没有办法计算出匹配了多少个“=”(={3,6}),这样我就可以在“#”所在的位置反向引用它?有效转向:===Heading3===intoHeading3====Heading4====intoHeading4... 最佳答案 您可以使用:preg_replace('/(?:\n|^)(={3,6})([^=]+)(\1)/e',"''.'$

php - 我如何在 PHP 中使用 "merge"这两个正则表达式?

我正在学习正则表达式,所以请放轻松!当不以_(下划线)开头并且包含仅单词字符(字母、数字和下划线本身)时,用户名被视为有效):namespaceGremo\ExtraValidationBundle\Validator\Constraints;useSymfony\Component\Validator\Constraint;useSymfony\Component\Validator\ConstraintValidator;classUsernameValidatorextendsConstraintValidator{publicfunctionvalidate($value,Co

php - 从字符串中查找价格的正则表达式

我正在尝试从字符串中提取价格:例子:$money='Rs.109.10';$price=preg_replace('/[^0-9.]/u','',$money);echo$price;这个例子的输出.109.10我期待以下输出:109.10帮我找到正确的正则表达式。 最佳答案 preg_match('/(\d[\d.]*)/',$money,$matches);$price=$matches[1];或者,更好的是,正如@Smamatti的回答所暗示的那样:preg_match('/\d+\.?\d*/',$money,$matche

php - 正则表达式获取前后N个词

我想获取给定搜索字符串的“上下文”。例如,对于以下行中的搜索字符串myselfMe,mydogandmyselfaregoingonavacation.我想得到dogandmyselfaregoingN=2。所以匹配前2个词和匹配后2个词。目前我像这样匹配整行:$lines=file($file->getFilename());$lines=preg_grep('/'.$_POST['query'].'/',$lines); 最佳答案 preg_grep()应该那样做,但听起来你需要preg_match()如果您可以在文本中有多个搜