首页 > 解决方案 > 是否可以反转正则表达式?

问题描述

这可能不是一项任务,而是一个问题,现在我将解释我想问的问题。

所以,背景故事,有以下输入数据:

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
[ABCDEFGHIJKLMNO] incididunt ut labore et dolore magna aliqua. Ut enim ad minimus veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure http://domains.ua/ dolor in reprehenderit in voluptate velit esse cillum
dolore eu: fugiat: nulla pariatur. Excepteur sint occaecat: cupidatat [non] proident :,
sunt in culpa qui officia deserunt mollit anim id est labor labor. https://foo.co.uk/ *end.

任务是查找方括号中的所有匹配项,在这一行中:这是:[ABCDEFGHIJKLMNO][non],然后查找所有http/https以斜杠 () 开头和结尾的链接,/紧跟一个空格。(参考文献的正确性并不重要)

一般来说,要找到所有这些事件很容易,这里是正则表达式(demo):

\[.*?\]|https?://[\w\.]+/\h

是否可以反转这个正则表达式以便找到除了任务中指定的条件之外的所有内容?(不要在方括号和链接中突出显示)

标签: phpregex

解决方案


非常感谢@WiktorStribiżew的帮助,我想,我通过以下方式解决了这个问题:

echo join('', preg_split('~\[.*?]|https?://[\w.]+/\h~', $string));

推荐阅读