匹配正则表达式中的第一个字符?

用户名

我有以下正则表达式:

http://([^:]*):?([0-9]*)(/.*)

当我将http://brandonhsiao.com/essays/showers.html其与之匹配时,括号将抓住:http://brandonhsiao.com/essays/showers.html我怎样才能得到它抢http://brandonhsiao.com/essays/showers.html

约瑟夫·迈尔斯

在第一个*之后加一个问号,您必须使其不贪心。现在,用于匹配主机名的代码将一路抓到最后一个/

http://([^:]*?):?([0-9]*)(/.*)

但这甚至不是我所建议的。尝试以下方法:

(http://[^\s/]+)([^\s?#]*)

$1应该具有http://brandonhsiao.com$2应该具有,/essays/showers.html并且任何哈希或查询字符串都将被忽略。

请注意,这并不是为了验证URL,而只是将URL分为路径之前的部分和路径本身。例如,它会很乐意接受无效字符作为主机名的一部分。但是,它对于带有或不带有路径的URL都可以正常工作。

PS:我不完全知道您在Lisp中使用此工具做什么,所以我只接受在其他兼容PCRE的环境中对其进行测试的自由。通常,我会在使用答案的确切上下文中测试我的答案。

$_ = "http://brandonhsiao.com/essays/showers.html";
m|(http://[^\s/]+)([^\s?#]*)|;
print "1 = '$1' and 2 = '$2'\n";

# [[email protected] ~]$ perl test2.pl
# 1 = 'http://brandonhsiao.com' and 2 = '/essays/showers.html'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在两个字符串(包括第一个字符串)之间匹配的正则表达式

来自分类Dev

正则表达式匹配不包括第一个字符的字符串

来自分类Dev

忽略正则表达式匹配中的第一个字符

来自分类Dev

Javascript正则表达式忽略匹配中的第一个字符

来自分类Dev

Notepad ++中的正则表达式:用正则表达式部分的第一个字符替换

来自分类Dev

正则表达式替换特定匹配项的字符串的第一个和最后一个字符

来自分类Dev

正则表达式不捕获第一个字符

来自分类Dev

正则表达式删除与第一个字符串匹配的行?

来自分类Dev

正则表达式表达大写的第一个字符

来自分类Dev

正则表达式仅匹配第一个字符

来自分类Dev

如何匹配正则表达式中的第一个字符串,然后在正则表达式中运行另一个递归模式?

来自分类Dev

使用正则表达式查找出现的内容,然后仅删除匹配表达式中的第一个字符

来自分类Dev

基于熊猫/正则表达式的方法来匹配字符串列表中的第一个字符串

来自分类Dev

正则表达式匹配字符串的第一个和最后一个字符,但是为什么呢?

来自分类Dev

忽略正则表达式匹配中的第一个字符

来自分类Dev

正则表达式忽略第一个字符,如果它是一个$

来自分类Dev

Notepad ++中的正则表达式:用正则表达式部分的第一个字符替换

来自分类Dev

正则表达式替换特定匹配项的字符串的第一个和最后一个字符

来自分类Dev

非法第一个字符的正则表达式

来自分类Dev

Python正则表达式-匹配某些第一个字符,但不匹配W

来自分类Dev

正则表达式删除与第一个字符串匹配的行?

来自分类Dev

正则表达式表达大写的第一个字符

来自分类Dev

如何禁止“。” (点)作为正则表达式中的第一个字符

来自分类Dev

正则表达式模式匹配直到包含特定字符的第一个字符系列之前的第一个空格

来自分类Dev

如何把 xpages 正则表达式(第一个字符和最后一个字符)不能是特殊字符

来自分类Dev

第一个字符出现后的 Python 正则表达式匹配组

来自分类Dev

正则表达式替换组中的第一个字符

来自分类Dev

正则表达式只匹配第一个字符

来自分类Dev

使用正则表达式获取第一个字符

Related 相关文章

  1. 1

    在两个字符串(包括第一个字符串)之间匹配的正则表达式

  2. 2

    正则表达式匹配不包括第一个字符的字符串

  3. 3

    忽略正则表达式匹配中的第一个字符

  4. 4

    Javascript正则表达式忽略匹配中的第一个字符

  5. 5

    Notepad ++中的正则表达式:用正则表达式部分的第一个字符替换

  6. 6

    正则表达式替换特定匹配项的字符串的第一个和最后一个字符

  7. 7

    正则表达式不捕获第一个字符

  8. 8

    正则表达式删除与第一个字符串匹配的行?

  9. 9

    正则表达式表达大写的第一个字符

  10. 10

    正则表达式仅匹配第一个字符

  11. 11

    如何匹配正则表达式中的第一个字符串,然后在正则表达式中运行另一个递归模式?

  12. 12

    使用正则表达式查找出现的内容,然后仅删除匹配表达式中的第一个字符

  13. 13

    基于熊猫/正则表达式的方法来匹配字符串列表中的第一个字符串

  14. 14

    正则表达式匹配字符串的第一个和最后一个字符,但是为什么呢?

  15. 15

    忽略正则表达式匹配中的第一个字符

  16. 16

    正则表达式忽略第一个字符,如果它是一个$

  17. 17

    Notepad ++中的正则表达式:用正则表达式部分的第一个字符替换

  18. 18

    正则表达式替换特定匹配项的字符串的第一个和最后一个字符

  19. 19

    非法第一个字符的正则表达式

  20. 20

    Python正则表达式-匹配某些第一个字符,但不匹配W

  21. 21

    正则表达式删除与第一个字符串匹配的行?

  22. 22

    正则表达式表达大写的第一个字符

  23. 23

    如何禁止“。” (点)作为正则表达式中的第一个字符

  24. 24

    正则表达式模式匹配直到包含特定字符的第一个字符系列之前的第一个空格

  25. 25

    如何把 xpages 正则表达式(第一个字符和最后一个字符)不能是特殊字符

  26. 26

    第一个字符出现后的 Python 正则表达式匹配组

  27. 27

    正则表达式替换组中的第一个字符

  28. 28

    正则表达式只匹配第一个字符

  29. 29

    使用正则表达式获取第一个字符

热门标签

归档