regex - 来自 url 的 tumblr 用户名

标签 regex url tumblr

我们如何使用正则表达式从网址中提取“tumblr”用户名? 网址可以是

http://tname.tumblr.com/
http://www.tname.tumblr.com
tname.tumblr.com
http://www.tumblr.com/blog/tname
tname.tumblr.com/post/1234567
www.tname.tumblr.com.

我只想打印 tname。我尝试使用正则表达式,但只能执行以 http 或 www 开头的字符串。

谢谢

最佳答案

您的示例是 SQL,而不是 SQLCRL,它旨在允许在 SQL Server 上的存储过程等中使用 .NET 语言。我个人建议不要将正则表达式注入(inject)您的 SQL 查询中,而是使用其中一种 .NET 语言与 SQL 结合来将其提取出来。

我不熟悉在您的上下文中使用 RegExParseRegExReplace,但以下正则表达式应该成功匹配 tname (或任何其他字母数字用户名)在所有示例行中,无需进行字符串操作或替换:

[^"\/www\."](?<!w{3})[A-Za-z0-9]*(?=\.tumblr\.com)|(?<=\.tumblr\.com\/blog\/).*

这有点像野兽,但本质上它使用了一些 regex lookarounds仅提取用户名。

以下是匹配的外观(使用 RegexBuddy ):

RegexBuddy matching

关于regex - 来自 url 的 tumblr 用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18664562/

相关文章:

http - 如何在 Dart 中对 URL 进行编码?

html - 页脚不粘在底部

javascript - 如何在jquery中获取字符串中所有无效字符的值?

regex - 使用 awk 正则表达式排除哈希符号

python - Flask 多个 URL 处理程序部分处理 URL

javascript - 如果 img 等于某个高度,则隐藏它

javascript - 在鼠标悬停时启动 GIF,否则暂停?

python - 检查列表中的两个项目是否相同?

java - 英语和阿拉伯语组合的正则表达式

c# - 在 Asp.Net Core 中使用 POST 方法重定向到 URL