[英]Conditional RgEx with PHP preg_match_all
只需选择条件正则表达式即可。
这是我有问题的...
我只想选择时间字符串02:00,但不能选择带引号的“ 02:00”或“ 02:00”
我用来选择02:00或2:00正则表达式是
$pattern = '/(\d{2}:\d{2})|(\d{1}:\d{2})/';
preg_match_all($pattern,$content, $matches);
但是是否也选择“ 02:00”或“ 02:00”,我不确定哪个正则表达式将用来跳过该时间字符串。
我得到了这个http://www.regular-expressions.info/conditional.html但不确定如何使regex :(
请帮帮我。
更新
感谢Lucas Trzesniewski和他的大力帮助。
我刚刚用此php代码解决了我的问题。
$pattern = '/(?!["\'])\b\d{1,2}:\d{2}\b(?!["\'])/';
preg_match_all($pattern,$content, $matches);
在这种情况下,条件句对您无济于事。
最简单的方法是使用环顾四周:
(?<!["'])\b\d{1,2}:\d{2}\b(?!["'])
(?<!["'])
(负向后)将确保前面的字符不是单引号或双引号 (?!["'])
(负超前)将对以下字符执行相同的操作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.