在第一次出现之前获得

时间:2016-02-28 00:26:59

标签: regex

给出一个字符串,说

  

prod175100210_cat40510788 __

我只想在_cat prod175100210之前的子字符串prod.*[^_]

但是当我使用以下正则表达式时

_cat

我没有得到预期的结果。

在第一次<?php function remoteFileExists($url) { $curl = curl_init($url); //don't fetch the actual page, you only want to check the connection is ok curl_setopt($curl, CURLOPT_NOBODY, true); //do request $result = curl_exec($curl); $ret = false; //if request did not fail if ($result !== false) { //if request was ok, check response code $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); if ($statusCode == 200) { $ret = true; } } curl_close($curl); return $ret; } 之前提取的合法正则表达式应该是什么?

2 个答案:

答案 0 :(得分:2)

prod[^_]*

[^_]*表示:零个或多个不是下划线的字符

答案 1 :(得分:1)

假设对于以prod开头并以_开头的子字符串的中间字符串匹配,您可以执行以下操作:

(prod[^_]+)_

Demo