当前位置:网站首页>正则表达式小示例--获取重复最多的字符及其数量
正则表达式小示例--获取重复最多的字符及其数量
2022-08-05 05:19:00 【CrazyQiQi】
通过正则表达式,从一个随机的字符串中获取重复最多的额字符及其数量
//首先声明定义一个随机的字符串
var str = 'hgldsfkjhgkejhgkjg4654dfhghjf45gfgdrg4GJHGJK5dzfdf241b35sf';
//1.将每一个字符切割为数组
var arrStr = str.split('');
//2.对字符数据进行排序
arrStr = arrStr.sort();
//3.将排好序的字符数据组装成字符串
str = arrStr.join('');
var result = ''; //返回最多的字母
var count = 0; //计数器
//4.捕获组——正则表达式中表达式匹配的内容,
//保存到内存中以数字的编号或显式命名的组里,方便后面引用
var reg = /(\w)\1+/gi; //捕获组
//用replace来获取最多的字符数
str.replace(reg, function($0, $1) {
//集合:$0代表连接字符组成的字符串,$1代表连续字符串中第一个首字母
if (count < $0.length) {
result = $1;
count = $0.length;
}
})
console.log("字符最多的是: " + result + " ,有 " + count + " 个");
捕获组的概念:正确使用正则表达式的捕获组和非捕获组
边栏推荐
猜你喜欢
![[Paper Intensive Reading] Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation (R-CNN)](/img/a7/fc3fe440f5e57362d44ae875b7d436.png)
[Paper Intensive Reading] Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation (R-CNN)
![[Day8] Commands involved in using LVM to expand](/img/ba/39b81cbcecec9bc54a710ff9dba81a.png)
[Day8] Commands involved in using LVM to expand

单臂路由与三成交换机

Wireshark抓包及常用过滤方法

入门文档08 条件插件

入门文档09 独立的watch

dsf5.0新建页面访问时重定向到首页的问题

你要找的cocos面试答案都在这里了!

Remembering my first CCF-A conference paper | After six rejections, my paper is finally accepted, yay!

入门文档10 资源映射
随机推荐
Remembering my first CCF-A conference paper | After six rejections, my paper is finally accepted, yay!
spark源码-任务提交流程之-7-流程梳理总结
spark算子-textFile算子
游戏引擎除了开发游戏还能做什么?
小度 小度 在呢!
图片压缩失效问题
spark源码-任务提交流程之-2-YarnClusterApplication
网络布线与数制转换
idea 常用快捷键
Three modes of vim
【Day8】磁盘及磁盘的分区有关知识
Getting Started Documentation 10 Resource Mapping
Cocos Creator小游戏案例《棍子士兵》
VLAN详解及实验
Spark源码-任务提交流程之-6.1-sparkContext初始化-创建spark driver端执行环境SparkEnv
入门文档12 webserve + 热更新
Spark源码-任务提交流程之-6-sparkContext初始化
Introductory document 05-2 use return instructions the current task has been completed
腾讯内部技术:《轩辕传奇》服务器架构演变
【Day6】文件系统权限管理 文件特殊权限 隐藏属性