微博话题正则表达式匹配 ##
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;/*** @author XXX* Date: 2019/3/20* Description:*/
public class RegexpUtil {/*** topicTagPattern 匹配话题正则表达式*/private static final Pattern topicTagPattern = Pattern.compile("#([^#]{1,40})#");public static Set<String> getTopicList(String content){Set<String> topicList = new LinkedHashSet<>();Matcher matcher = topicTagPattern.matcher(content);while (matcher.find()){String topicName = matcher.group(1);topicList.add(topicName);}return topicList;}public static void main(String[] args){String str = "#哈哈a###这是一个#好####哈哈a##哈#啊圣诞节疯狂#奥斯卡级代付款##as的开发#";Set<String> topicList = getTopicList(str);System.out.println(topicList);}
}
输出:
[哈哈a, 这是一个, 哈, 奥斯卡级代付款, as的开发]
新浪微博的话题长度限制好像是40个字符,
另外 类似 #1#2#3# 只有1,3 才算话题 2不算 相当于 一但匹配成功一个话题 ,二个# 符号就会被消耗。
如果需要返回包含重复的话题,getTopicList 方法返回参数改为 List 就好。
微博话题正则表达式匹配 ##相关推荐
- 实现类似的微博话题的功能
实现类似的微博话题的功能 正则匹配内容 let reg= /[##][^##]+[##]/g (中英文的#匹配) ReplaceTopic(str) {var r, k; // 声明变量.// var ...
- re2正则表达式匹配引擎的c接口版本cre2的中文使用手册
前言 re2 官方地址: https://github.com/google/re2 cre2 官方地址: https://github.com/marcomaggi/cre2 1 基本类型定义 不透 ...
- Oracle正则表达式匹配中文的问题
查资料知道中文Unicode范围是\u4e00 - \u9fa5 可是自己用来正则表达式匹配中文总是用不了Unicode.最简单举例: select regexp_replace('abc秋歌def' ...
- python3 正则表达式 嵌套表格_在Python中使用正则表达式匹配嵌套结构
unutbu.. 14 编辑: falsetru的嵌套解析器,我稍微修改为接受任意正则表达式模式来指定分隔符和项目分隔符,比我原来的re.Scanner解决方案更快更简单: import re def ...
- 剑指offer:面试题19. 正则表达式匹配
题目:正则表达式匹配 请实现一个函数用来匹配包含'. '和'*'的正则表达式.模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(含0次).在本题中,匹配是指字符串的所有字符匹 ...
- 使用正则表达式匹配HTML 下各种title标签
http://www.oschina.net/question/195686_46313 <title>标题</title> <title> 标题 </tit ...
- 刻意练习:LeetCode实战 -- Task18. 正则表达式匹配
背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法(Leetcode)刻意练习训练营 的打卡任务.本期训练营采用分类别练习的模式,即选择了五个知识点(数组.链表.字符串.树.贪心算法),每个知 ...
- 通配符?子字符串匹配主字符串次数_突破LeetCode,拿BAT大厂offer之《正则表达式匹配》(动态规划)...
导读:算法哥前面分享了一个<通配符匹配>,有粉丝留言,算法哥你再讲讲leetcode上另一道<正则表达式匹配>,正则表达式匹配这道题是前面通配符匹配的加强版,大家一起来学习吧! ...
- Java算法练习——正则表达式匹配
题目链接 题目描述 给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配. '.' 匹配任意单个字符 '*' 匹配零个或多个前面的那一个元素 所谓匹配,是要 ...
最新文章
- C++ mutable
- docker初体验:docker部署nginx负载均衡集群
- 路由有类查找和无类查找方式
- Android编程获取手机型号,本机电话号码,sdk版本及firmware版本号(即系统版本号)...
- 关于发布DIPS的MVC项目的IIS 7.0环境配置的方法
- 通过mysqldump备份数据库
- Oracle 修改数据库基本参数
- 大数据之-Hadoop伪分布式_Log日志查看和NN格式化前强调---大数据之hadoop工作笔记0024
- mysql ndb 测试_Mysql性能2:基于JDBC的MySQL NDB性能测试结果
- 解决C#网络通信编程的阻塞问题
- Python自动化之Django中间件
- nginx 访问频率限制配置
- 台达b3伺服参数设置方法_台达伺服驱动器参数设置一览表
- GMSK调制 MATLAB代码
- 转:QQ上最酷的留言消息
- 微信服务号的六大价值有哪些
- 水溶性富勒醇/羟基化富勒烯(Fullerenols)主要成分碳、氧、氢
- 【邢不行|量化小讲堂系列20-Python量化入门】10年400倍策略分享(附视频逐行代码讲解)
- 免费开源的编辑器 - SciTE
- 申宝股票-股指超跌反弹
热门文章
- Linux——赋予普通用户root的权限
- qq宠物html代码,QQ企鹅即将消失,那个被我们所遗忘的宠物,终于要给大家说再见了...
- 飞而威尔让他突然突然
- android sqlite fts4,FTS4 sqlite MATCH查询不起作用(FTS4 sqlite MATCH query not working)
- 喜闻乐见的「手算题」技巧3:巧用 Python
- Java笔记013-IDEA、包、访问修饰符、封装、继承、多态、Super、方法重写/覆盖(override)、java的动态绑定机制
- 人工智能伦理风险治理具有复杂性,尚未形成完善的理论架构和治理体系
- HTTP 协议中GET和POST到底有哪些区别
- STM8读取AD值偶尔跳变出错的问题
- vs2017c语言一闪而逝6,Visual Studio IDE编写程序时不显示窗口或窗口一闪而逝的解决方法...