preg_match_all找不到字符串" http"在#

时间:2016-02-23 08:30:31

标签: regex preg-match-all

我需要找到一个不包含httpshttp的字符串,但在#之后 演示:

#abc => find.
http://google.com/#abc => not find.

我的代码在#之后找到内容 preg_match_all(" /#([^ \ s] +)/",$ content,$ matches);

3 个答案:

答案 0 :(得分:0)

这应该对你有用

^(http://)(?#)

答案 1 :(得分:0)

我相信你首先要确保字符串是一个URL,然后在hashbang后面获取所有内容? (包括hashbang)。然后我相信这个带有非捕获组的正则表达式将起作用:

preg_match_all('/^(?:https*:\/\/.*)(#.*)$/', $url, $matches);

我怀疑你使用的是php:)

答案 2 :(得分:0)

^(?!https?://).*?$

你可以看一下:regax