类似 Steam 的 URL 的正则表达式
Regex for steam-like urls
我不知道如何构建正则表达式来满足我的需求。我无法理解这种黑暗艺术,所以我需要你的帮助来解决我的问题。
我想使用正则表达式模式在字符串中找到 url。如何在字符串中找到这种类型 urls?
Lorem ipsum foo://bar1234 dolor sit amet.
它应该从 foo:// 获取字符串,直到遇到空格。 bar1234 部分是完全随机的,它可以包含数字、字母或特殊字符,所以我在这里不需要任何规则。我该怎么做?
我从某种模式创建器应用程序和 https 示例构建了一个 pattenr,但它似乎不起作用。 ^(foo?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
为什么不保持简单并使用:
/\bfoo:\/\/\S+/g
这意味着首先使用单词边界匹配文字 foo://
,然后匹配 \S+
(1 个或多个非 space 字符)。
foo:\/\/(\S+)
如果格式如您所说的那样简单,这应该可以满足您的要求。
要测试此类内容,您始终可以使用像 https://regex101.com/ 这样的网站,这会让您的测试更容易。
如果你想从 foo 开始:
foo:\/\/([^\s]+)
如果您还想在正则表达式中保留 foo:
(foo:\/\/[^\s]+)
我不知道如何构建正则表达式来满足我的需求。我无法理解这种黑暗艺术,所以我需要你的帮助来解决我的问题。
我想使用正则表达式模式在字符串中找到 url。如何在字符串中找到这种类型 urls?
Lorem ipsum foo://bar1234 dolor sit amet.
它应该从 foo:// 获取字符串,直到遇到空格。 bar1234 部分是完全随机的,它可以包含数字、字母或特殊字符,所以我在这里不需要任何规则。我该怎么做?
我从某种模式创建器应用程序和 https 示例构建了一个 pattenr,但它似乎不起作用。 ^(foo?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
为什么不保持简单并使用:
/\bfoo:\/\/\S+/g
这意味着首先使用单词边界匹配文字 foo://
,然后匹配 \S+
(1 个或多个非 space 字符)。
foo:\/\/(\S+)
如果格式如您所说的那样简单,这应该可以满足您的要求。
要测试此类内容,您始终可以使用像 https://regex101.com/ 这样的网站,这会让您的测试更容易。
如果你想从 foo 开始:
foo:\/\/([^\s]+)
如果您还想在正则表达式中保留 foo:
(foo:\/\/[^\s]+)