日期:2014-05-17  浏览次数:20602 次

求匹配新浪微博中@用户的正则表达式
RT 匹配新浪微博中的@用户的正则表达式
例:

xxxx:@啊啊啊啊-1asdasd:你挂了

我要匹配出 @啊啊啊啊-1asdasd

结尾一般为标点符号,空格,以及括号等

重分答谢
------解决方案--------------------
难道是 "@[^:]*:",这个能匹配@xxxx:,用@和:包围的能匹配上。 正则我用的很废物的。

------解决方案--------------------
引用:
引用:

难道是 "@[^:]*:",这个能匹配@xxxx:,用@和:包围的能匹配上。 正则我用的很废物的。


符号不是固定的,不一定的:

试试
@[^:@]*(?=([^\u4e00-\u9fa5\w])
------解决方案--------------------
_)
------解决方案--------------------
引用:
RT 匹配新浪微博中的@用户的正则表达式
例:

xxxx:@啊啊啊啊-1asdasd:你挂了

我要匹配出 @啊啊啊啊-1asdasd

结尾一般为标点符号,空格,以及括号等

重分答谢


@[^@]+?(?=[\s::(),.。])
------解决方案--------------------
引用:
引用:

引用:

foreach(Match m in Regex.Match(yourstr,"@[^@]+?(?=[\\s::(),.。])"))
{
//m.Value就是 你所要的
}



督察 那个后面的?=是什么意思啊,就是说?可以匹配中括号里面那些东西么?


@[^@]+?(?=[\s::(),.。]) 匹配红色部分……


啊? 不大懂啊。。
------解决方案--------------------
引用:
引用:

引用:

@Geopornography
上面的正则表达式都识别不了这个

试试这样
@[^:@]*(?=([^\u4e00-\u9fa5\d])
------解决方案--------------------
_)


你这个也试过了,你的一用就把我整个string都替换了

这样呢?
(?is)(.*?)@[^:@]*(?=([^\u4e00-\u9fa5\d])*
------解决方案--------------------
_)
用$1替换
Regex.Replace(input,"$1")