【发布时间】:2013-12-31 11:53:32
【问题描述】:
我需要在文本中找到像 @[0000:0000:Username] 这样的字符串。
然后我需要提取第一个数字序列(用户 ID)和用户名。 然后我需要用链接替换它们。
我能够提取第一个数字序列,但用户名是可变的。它可以有多个单词(和空格),但也可以是一个单词,例如“John”、“John Doe”、“John Doe Junior”。
用户名可以包含字母数字字符、句点、下划线和破折号。
这是我现在拥有的用户名,最多 4 个单词:
/@\[(\d*):\d*:(\S*|\S*\s*\S*\s*\S*\s*\S*)\]/
这是我要创建的链接:
<a href="http://www.facebook.com/user-id/" target="_blank">Username</a>
我正在尝试这样:
<a href="http://www.facebook.com/$1/" target="_blank">$2</a>
如果只找到一个匹配项,这将正常工作。一旦有更多的匹配,它就会搞砸。
任何帮助将不胜感激。
【问题讨论】:
-
@AmalMurali 用户名不能超过 4 个字。
-
@Barmar:好吧,OP 说
Obviously this doesn't work.。它确实(对于问题中显示的示例)。我认为可以通过解释您的所有要求来改进这个问题,@Ziggy。 -
他说“用户名最多 4 个字”。这是他描述不必要的限制的方式。