我已经研究这个问题好几天了,它开始让我发疯。我很喜欢使用正则表达式,但这件事似乎让我无法理解。
如果它们存在,我需要在一组字符之间匹配一个字符串,否则它应该匹配到行尾。
例如:我只是想从以下示例中获取“内容”:
$str1="title:content @description"
$str2="title:content"
preg_match("/:(.*?)[(@)|(:)|(\*)]?$/",$str1,$content);
preg_match("/:(.*?)[(@)|(:)|(\*)]?$/",$str2,$content);
$str1 输出:“内容@description”
$str2 输出:“内容”
注意:字符串的顺序可能不同,或者可能没有特殊字符(@、: 或 *),或者它们可能有一个,因此除了“行尾”之外,没有常见的“字符串结尾”字符”。
我已经尝试了所有我能想到的组合,以使整个“或”语句成为有条件的,并阅读了大量具有相似但不完全相同的问题的帖子。