匹配基本 url 正则表达式

2023-12-27

例子:

http://example.com ---> http://example.com
ftp://username:[email protected] /cdn-cgi/l/email-protection ---> ftp://username:[email protected] /cdn-cgi/l/email-protection
http://example.com/path/to/somehwere ---> http://example.com
http://example.co.uk ---> http://example.co.uk
example.co.uk ---> example.co.uk
example.co.uk?user=John&pass=1234 ---> example.com.uk

我试过这个:

.*?(:\/{2})?.*?(?=\/|$|\?)

它适用于没有协议的网址,但原因是(?=\/|$|\?)它停在http:

你能帮我修复我的正则表达式吗?或者建议更好?


这个基于前瞻的正则表达式应该适合您:

^.+?[^\/:](?=[?\/]|$)

正则表达式演示 https://regex101.com/r/tkdQBX/1

前瞻断言(?=[?\/]|$)确保在下一个字符出现时停止匹配/ or ?或者有线尾。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

匹配基本 url 正则表达式 的相关文章

  • 在Python中检测包含非英文字符的字符串

    我有一些混合有英文字母和非英文字母的字符串 例如 w 1991 2 如何使用正则表达式或 Python 中的任何其他快速方法识别这些类型的字符串 我不喜欢将字符串中的字母与字母列表进行逐一比较 而是一次性快速完成此操作 您可以检查该字符串是
  • 如何将字符串转换为正则表达式文字

    逃避任意的最好方法是什么std wstring在正则表达式中使用 例如 转换you owe me to you owe me 我的场景 我想使用std tr1 wregex搜索整个单词 所以我想做一些类似的事情 std wstring Re
  • 使用正则表达式检查字符串是否以数字字符开头和结尾

    我想 String string 123456 if string startsWith 0 9 string endsWith 0 9 code And the if子句永远不会被调用 不要使用正则表达式 Character isDigi
  • JavaScript 解析 bbcode url

    我已经尝试解析 JavaScript 中的 bbcode URL 标签有一段时间了 例如 url http examp le linktext url 应该成为 a href http examp le linktext a 我对此做了很多
  • sed:用匹配的模式替换第 n 个单词?

    我有一个具有以下特征的文本文件 每行至少有三个由空格分隔的 单词 单词 可以是任何字符或字符串 我在一些行中附加了一些注释 并提出了对原始单词进行更改的初步建议 现在想使用 sed 为我进行这些更改 因此 为了提供更清晰的图片 我的文件如下
  • 用于提取 FDF 数据的 PHP 正则表达式代码

    我正在尝试使用 PHP 和正则表达式解析 FDF 文件 但我就是无法理解正则表达式 我一直在解析文件以生成数组 FDF 1 2 1 0 obj lt lt FDF lt lt Fields lt lt V email protected c
  • 正则表达式表示 hh:mm am/pm 格式的时间

    我需要对学校项目的输入进行严格验证 时间格式为 HH MM am pm 到目前为止 我已经得到了这个正则表达式 01 0 9 0 5 0 9 AaPp Mm 这是一个工作演示 http regexr com 3c9b5 http regex
  • C# 中的高级替换

    我喜欢用 C 替换 xml 字符串 中的一些属性 示例 XML
  • ( 后的正则表达式匹配数

    我正在尝试使用正则表达式来匹配开括号 字符后的可变长度的数字 我努力了 d 但该正则表达式在匹配中包含括号 我该如何排除它 我正在使用 Sublime Text 正则表达式引擎来进行匹配 您可以使用积极的后视 http www regula
  • 删除 .htaccess 中 URL 中各处的多组斜杠

    我目前有一个网站 访客可以访问每个网址 并使用任意数量的斜杠来分隔文件夹名称 例如 如果 URL 应该是 http example com one two three four 然后用户可以通过以下任意方式访问同一页面 http examp
  • Haskell 中的模式匹配正则表达式模式

    在 Scala 中 我有一个正则表达式模式匹配 如下所示 val Regex d 4 d 2 d 2 r val Regex year month day 2013 01 06 结果是 year String 2013 month Stri
  • 如何在 javascript 中用正则表达式替换特殊字符?

    我需要替换字符串中的特殊字符 如下所示 this value this value replace n g 除了正则表达式部分之外 我需要它来查找opposite所有这些 0 9 查找 0 到 9 中的任意数字 A Z 查找从大写 A 到大
  • 整数或双精度值的正则表达式

    我正在尝试创建一个正则表达式来接受整数和双精度值 正值和负值 这就是我所拥有的 d d d 在此之前 我将其标记为重复问题 所有问题都已签入 所以我最终遇到了相同的问题 5 and 5 gt true 5 00 and 5 00 gt tr
  • Sql Server Management Studio 的完整正则表达式语法

    是否有 Sql Server Management Studio 中使用的正则表达式语法的完整描述 例如 必须有一种方法可以进行负向查找 但查找 替换对话框没有列出 SSMS 版本 2005 2012 实际上只是修改 自定义的 Visual
  • 正则表达式替换多个组

    我想使用正则表达式将多个组替换为相应的替换字符串 更换表 gt amp gt hsh 1 gt 5 5 gt 6 例如 对于以下输入字符串 a1asda fj ahdk5adfls 对应的输出字符串是 a5asda ampfj hshahd
  • 替换文本区域的文字

    我制作了一个 javascript 函数来将文本区域中的某些单词替换为其他单词 但它不起作用 我做了这个 function wordCheck var text document getElementById eC value var ne
  • 如何从用户提供的包含正则表达式元字符的字符串创建正则表达式?

    我需要使用创建正则表达式regexcrate 包含一个作为命令行参数传递给程序的字符串 命令行参数可以包含 and 如果我将字符串硬编码为r 那么它工作正常 但是如果我使用命令行参数作为format r arg str 我收到以下错误 假设
  • 解析字符串:提取单词和短语 [JavaScript]

    我需要在以空格分隔的术语列表中支持确切的短语 用引号引起来 因此 用空格字符分割相应的字符串已经不够了 Example input foo bar lorem ipsum baz output foo bar lorem ipsum baz
  • 比赛结束后如何使用流找到物品?

    使用 Java 流 可以轻松找到与给定属性匹配的元素 例如 String b Stream of a1 b2 c3 filter s gt s matches b findFirst get System out println b b 生
  • 替换字符串中的重复字符串

    我正在尝试查找 并替换 字符串中重复的字符串 我的字符串可以是这样的 Lorem ipsum dolor 坐阿梅特坐 阿梅特坐 阿梅特坐诺斯特鲁德实习amit situllamco Laboris nisi ut aliquip ex ea

随机推荐