Regex匹配以空格或逗号结尾的单词
本文关键字:结尾 单词 空格 Regex | 更新日期: 2023-09-27 17:51:21
我有这个正则表达式,它将标签前面的单词转换为链接。:
public static string LinkifyHashTags(string text)
{
return Regex.Replace(text, "(''#''w+) ", "<a href='"#'">$1 </a>");
}
但是,如果字符串像这样:
"这将#标签,如#Google+, #Twitter和#Youtube,变成链接"
唯一匹配的标签是#标签和#Twitter。#Google+和#Youtube不匹配。上面的代码有什么帮助吗?
您可以删除空格,或者使用前瞻断言,允许空格、逗号、加号、字符串结束来表示散列标签的结束。
您应该查找哈希标签
"(''#''w+)(?=[ ,+]|$)"
使用可选的多个加号作为散列标签
的一部分 "(''#''w+[+]*)(?=[ ,]|$)"
带有可选的单加号作为散列标签
的一部分 "(''#''w+[+]?)(?=[ ,]|$)"
使用这个正则表达式:(''#''w+)
(末尾没有空格)
如果你想添加+
符号作为一个有效的标签,使用:''#[''w+]+