我对正则表达式非常陌生,无法编写匹配我需要的模式。希望能得到帮助!
我想使用PHP和正则表达式来捕获字符串中紧随特定唯一字符(定界符)后的每组字符,以及任何在第一个定界符实例之前的字符组。然后我想将所需输出“匹配”到一个PHP数组中。
- Example delimiter:
>
Example string:
$str = 'word1 > word-2 > word.3 > word*4';
My desired match:
array([0] => 'word1', [1] => 'word-2', [2] => 'word.3', [3] => 'word*4',);
这是我目前正在使用的PHP函数,但它目前仅找到分隔符之间的字符:
function parse_conditions($str, $delimiter='>') {
if (preg_match_all('/' . $delimiter . '(.*?)' . $delimiter . '/s', $str, $matches)) {
return $matches[1];
}
注意:一个给定字符串中的项数可能会有所变化,因此我不能使用期待特定数量分隔符的模式(例如/^(.*?)>(.*?)>(.*?)>$/
)。
>
上分割呢? - vks[^>]+
)的连续字符串。 - mario