2

我们如何使用正则表达式从 url 中提取“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 开头的字符串。

谢谢R

4

1 回答 1

2

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

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

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

这有点像野兽,但本质上它使用一些正则表达式外观来仅提取用户名。

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

正则表达式好友匹配

于 2013-09-06T20:17:38.677 回答