preg_match直到字符串结束或其他可能性

时间:2016-06-15 13:12:53

标签: php regex

多明戈斯:10H00和20H00 或者这个 多明戈斯:10H00和20H00。

我尝试根据两个字符串的结尾匹配preg匹配字符串的结尾,或者直到"。"

我试过这样,但它没有用。

if(preg_match('/ingo(.*?)a(.*?)($|.)/is', $obj["horarios"], $horaDom){

}

我想要的输出是:" 10h00"和" 20H00"

任何人都知道怎么做?

2 个答案:

答案 0 :(得分:0)

您可以使用

/(\d+H\d+)\s*a\s*(\d+H\d+)/

或甚至(为了缩短模式,(?1)将重用组1内的模式)

/(\d+H\d+)\s*a\s*((?1))/

请参阅regex demo(或this one)。

(\d+H\d+)匹配并在第1组中捕获一个或多个数字H,以及一个或多个数字,\s*匹配0 +空格,a匹配{{ 1}}。

PHP demo

a

答案 1 :(得分:0)

试试这个https://regex101.com/r/tD4sG0/1

(\d.*)?or|(\d.*)?\./g