2017-09-26 97 views

回答

0

让我们来分析一下:

(RT|via) - 匹配“RT”或“内经”

其他的都是由(?:)定义非捕获组,这意味着我们要检查它的存在,但我们不”抓住它。

(?:\\b\\W*@\\w+)+)

\\b是一个字边界

\\W*是一个非字字符。 *意味着匹配0或多个

匹配一个@

\\w+和一个或多个字的字符(字母,数字,连接器)

+的非捕获组之外意味着可以有一个以上的这些非捕获组织。

基本上你匹配“通过”或者“RT”,并删除它(通过“”空你要替换的捕获与文本),并匹配,但没有捕捉一切遵循

非使用捕获组,因此您可以在字符串中的不同位置匹配“RT”或“via”。 \\b\\W*@\\w+确保您在“RT”或“via”之后匹配twitter用户名。这应该有助于避免在未用作实际重新推文时替换“RT”或“via”。

+0

这是一个非常elaboarte和答案的答案,thankyou @ Mako212。谢谢努力!你可以分享帮助你获得信息的可能链接/资源吗? –

+0

@KrishnaDhruv当然,[Rexegg.com](http://www.rexegg.com/regex-quickstart.html)是Regex的绝佳资源。我发现它在学习基础知识方面非常有帮助,并且所有关键表达式都可以方便地组织在表中以供参考。 – Mako212

+0

太棒了。再次感谢:) –