正则表达式:先行捕获第一次出现

布兰登

我正在尝试捕获特定单词之前的网址。唯一的麻烦是该词也可能是域的一部分。

示例:(我想在晚餐前捕捉所有东西)

https://breakfast.example.com/lunch/dinner/

https://breakfast.example.brunch.com:8080/lunch/dinner

http://dinnerdemo.example.com/dinner/

我可以使用:

^(。*://.*/)(?=晚餐/?)

我遇到的问题是前瞻似乎不够懒惰,因此以下操作失败:

https://breakfast.example.com/lunch/dinner/login.html?returnURL=https://breakfast.example.com/lunch/dinner/

它捕获:

https://breakfast.example.com/lunch/dinner/login.html?returnURL=https://breakfast.example.com/lunch/

我都无法理解为什么以及如何修复我的正则表达式。也许我走错了路,但是如何捕捉所有示例?

雷·托尔

您可以使用一些惰性:

^(.*?:\/\/).*?/(?=dinner/?)

现场演示

通过.*在正则表达式的中间使用a ,您可以将所有内容都吃到最后一个冒号,直到找到匹配为止。

.*顺便说一句,在正则表达式中间是非常不好的做法。它可能导致长字符串中令人讨厌的回溯性能下降。.*?更好,因为它是勉强而不是贪婪。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式只捕获括号内的第一次出现

来自分类Dev

正则表达式。驼色表壳彰显个性。忽略第一次出现

来自分类Dev

希望正则表达式在第一次出现“”时停止。和“;”

来自分类Dev

正则表达式,仅替换第一次出现的HTML标签

来自分类Dev

正则表达式。驼色表壳彰显个性。忽略第一次出现

来自分类Dev

正则表达式只正确地拉第一次出现

来自分类Dev

仅在第一次出现之前获得正则表达式匹配结果

来自分类Dev

如何获得第一次出现?正则表达式python

来自分类Dev

正则表达式全局替换不替换第一次出现

来自分类Dev

正则表达式直到第一次出现括号关闭

来自分类Dev

正则表达式第一次出现在单词之前

来自分类Dev

正则表达式 - 获得第一次出现

来自分类Dev

正则表达式用括号第一次出现

来自分类Dev

正则表达式:匹配以某些字符开头的单词的第一次出现

来自分类Dev

正则表达式:匹配第一次出现的:

来自分类Dev

如何捕获正则表达式第一次出现并使用 postgreSQL 插入到字符串中

来自分类Dev

用于获得第一次唯一出现的正则表达式

来自分类Dev

正则表达式不匹配我的字符串的第一次出现

来自分类Dev

如何使用正则表达式仅匹配每行中第一次出现的字符串

来自分类Dev

正则表达式仅过滤特定字符串的第一次出现

来自分类Dev

Grep正则表达式在第一次比赛后停止

来自分类Dev

正则表达式在第一次比赛后停止

来自分类Dev

正则表达式 - 在第一次匹配之前删除所有内容

来自分类Dev

正则表达式以捕获模式的最后一次出现

来自分类Dev

如何在javascript正则表达式中第一次逃脱第二个捕获组

来自分类Dev

正则表达式匹配第一次出现以及直到最后一场比赛之间的所有内容

来自分类Dev

Python正则表达式。我正在尝试在某个单词之后的任何单词的第一次出现时删除文本(Total_Cases)

来自分类Dev

如何找到从字符串中某个位置开始的正则表达式第一次出现的索引?

来自分类Dev

正则表达式,帮助我只在字符串中第一次出现,避免在某些字符 Vb.Net 之后搜索

Related 相关文章

  1. 1

    正则表达式只捕获括号内的第一次出现

  2. 2

    正则表达式。驼色表壳彰显个性。忽略第一次出现

  3. 3

    希望正则表达式在第一次出现“”时停止。和“;”

  4. 4

    正则表达式,仅替换第一次出现的HTML标签

  5. 5

    正则表达式。驼色表壳彰显个性。忽略第一次出现

  6. 6

    正则表达式只正确地拉第一次出现

  7. 7

    仅在第一次出现之前获得正则表达式匹配结果

  8. 8

    如何获得第一次出现?正则表达式python

  9. 9

    正则表达式全局替换不替换第一次出现

  10. 10

    正则表达式直到第一次出现括号关闭

  11. 11

    正则表达式第一次出现在单词之前

  12. 12

    正则表达式 - 获得第一次出现

  13. 13

    正则表达式用括号第一次出现

  14. 14

    正则表达式:匹配以某些字符开头的单词的第一次出现

  15. 15

    正则表达式:匹配第一次出现的:

  16. 16

    如何捕获正则表达式第一次出现并使用 postgreSQL 插入到字符串中

  17. 17

    用于获得第一次唯一出现的正则表达式

  18. 18

    正则表达式不匹配我的字符串的第一次出现

  19. 19

    如何使用正则表达式仅匹配每行中第一次出现的字符串

  20. 20

    正则表达式仅过滤特定字符串的第一次出现

  21. 21

    Grep正则表达式在第一次比赛后停止

  22. 22

    正则表达式在第一次比赛后停止

  23. 23

    正则表达式 - 在第一次匹配之前删除所有内容

  24. 24

    正则表达式以捕获模式的最后一次出现

  25. 25

    如何在javascript正则表达式中第一次逃脱第二个捕获组

  26. 26

    正则表达式匹配第一次出现以及直到最后一场比赛之间的所有内容

  27. 27

    Python正则表达式。我正在尝试在某个单词之后的任何单词的第一次出现时删除文本(Total_Cases)

  28. 28

    如何找到从字符串中某个位置开始的正则表达式第一次出现的索引?

  29. 29

    正则表达式,帮助我只在字符串中第一次出现,避免在某些字符 Vb.Net 之后搜索

热门标签

归档