如何从一开始就使正则表达式匹配模式?

c00000fd

我需要一些有关正则表达式的帮助。

我正在通过JavaScript执行以下操作,以“屏蔽”所有可能使用以下规则组成的特殊URL:

  • 他们可以像这样的东西开始0>1223>1_23>

  • 它们可以以协议开头,例如:http:\\https:\\

  • 他们可能也有www.子域

因此,例如,https://www.example.com它应该产生https://www. ...

所以我想出了以下JS:

var url = "0>https://www.example.com/plugins/page.php?href=https://forum.example.com/topic/some_topic";
m = url.match(/\b((?:[\d_]+>)?.+\:\/\/(?:www.)?)/i);
if (m) {
    url = m[1] + " ...";
}

console.log(url);

它适用于大多数情况,除了我的示例中的“重复” URL,在这种情况下,我得到以下信息:

0> https://www.example.com/plugins/page.php?href=https:// ...

当我期望:

0> https:// www。...

我如何使其从一开始就选择比赛?我以为增加\b就可以了...

四人

.+像这样使非贪婪

m = url.match(/\b((?:[\d_]+>)?.+?\:\/\/(?:www.)?)/i);

注意?之后.+这意味着RegEx必须匹配到:当前表达式之后的第一个如果不使用?,它将使其变得贪婪,并且将消耗掉所有字符,直到:字符串中的最后一个字符。

而且,你不必逃避:,你必须逃脱.www所以您的RegEx会变成这样

m = url.match(/\b((?:[\d_]+>)?.+?:\/\/(?:www\.)?)/i);

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从一开始就使正则表达式匹配模式?

来自分类Dev

正则表达式从一开始就删除哈希

来自分类Dev

正则表达式:捕获组的负前行不是从一开始

来自分类Dev

正则表达式从一开始就删除哈希

来自分类Dev

使用正则表达式提取pandas系列字符串:如何从一开始就排除某些符号?

来自分类Dev

正则表达式从三个选项之一开始

来自分类Dev

我想制作一个正则表达式,它将匹配最多3个数字的可选字符,一开始最多四个字,一个最小字,后跟空格

来自分类Dev

正则表达式模式 - 如何从一行中提取 N 个元素?

来自分类Dev

正则表达式匹配模式

来自分类Dev

正则表达式模式以匹配{{....}}

来自分类Dev

正则表达式以匹配模式

来自分类Dev

模式匹配 - 正则表达式

来自分类Dev

模式匹配的正则表达式

来自分类Dev

如何匹配[...]的正则表达式模式

来自分类Dev

如何使用正则表达式匹配此模式

来自分类Dev

如何使用 sed 正则表达式模式匹配

来自分类Dev

如何从一开始就启动vim?

来自分类Dev

如何使用C ++ 11正则表达式匹配多种替代模式之一

来自分类Dev

从匹配条件的末尾开始匹配的正则表达式

来自分类Dev

正则表达式-如果开始匹配则匹配结束

来自分类Dev

从匹配条件的末尾开始匹配的正则表达式

来自分类Dev

正则表达式用于匹配仅需以有效序列开头开始的模式

来自分类Dev

一个正则表达式之前或之后具有模式匹配的正则表达式?

来自分类Dev

如何匹配正则表达式

来自分类Dev

反向正则表达式模式匹配-如何判断哪个模式匹配结果(重击)

来自分类Dev

正则表达式:匹配模式,但模式前面除外

来自分类Dev

正则表达式:模式匹配多个模式

来自分类Dev

正向匹配后的正则表达式匹配模式

来自分类Dev

如何匹配正则表达式中某些模式后面的第一个模式

Related 相关文章

  1. 1

    如何从一开始就使正则表达式匹配模式?

  2. 2

    正则表达式从一开始就删除哈希

  3. 3

    正则表达式:捕获组的负前行不是从一开始

  4. 4

    正则表达式从一开始就删除哈希

  5. 5

    使用正则表达式提取pandas系列字符串:如何从一开始就排除某些符号?

  6. 6

    正则表达式从三个选项之一开始

  7. 7

    我想制作一个正则表达式,它将匹配最多3个数字的可选字符,一开始最多四个字,一个最小字,后跟空格

  8. 8

    正则表达式模式 - 如何从一行中提取 N 个元素?

  9. 9

    正则表达式匹配模式

  10. 10

    正则表达式模式以匹配{{....}}

  11. 11

    正则表达式以匹配模式

  12. 12

    模式匹配 - 正则表达式

  13. 13

    模式匹配的正则表达式

  14. 14

    如何匹配[...]的正则表达式模式

  15. 15

    如何使用正则表达式匹配此模式

  16. 16

    如何使用 sed 正则表达式模式匹配

  17. 17

    如何从一开始就启动vim?

  18. 18

    如何使用C ++ 11正则表达式匹配多种替代模式之一

  19. 19

    从匹配条件的末尾开始匹配的正则表达式

  20. 20

    正则表达式-如果开始匹配则匹配结束

  21. 21

    从匹配条件的末尾开始匹配的正则表达式

  22. 22

    正则表达式用于匹配仅需以有效序列开头开始的模式

  23. 23

    一个正则表达式之前或之后具有模式匹配的正则表达式?

  24. 24

    如何匹配正则表达式

  25. 25

    反向正则表达式模式匹配-如何判断哪个模式匹配结果(重击)

  26. 26

    正则表达式:匹配模式,但模式前面除外

  27. 27

    正则表达式:模式匹配多个模式

  28. 28

    正向匹配后的正则表达式匹配模式

  29. 29

    如何匹配正则表达式中某些模式后面的第一个模式

热门标签

归档