python正则数字重复出现次数_python正则表达式重复次数

1.如何使用正则表达式检查字符串中重复出现的词

private void button1_Click(object sender, EventArgs e)

{

System.Text.RegularExpressions.MatchCollection matches =//使用正则表达式查找重复出现单词的集合

System.Text.RegularExpressions.Regex.Matches(label1.Text,

@"\b(?\w+)\s+(\k)\b", System.Text.

RegularExpressions.RegexOptions.Compiled | System.Text.

RegularExpressions.RegexOptions.IgnoreCase);

if (matches.Count != 0)//如果集合中有内容

{

foreach (System.Text.RegularExpressions.Match//遍历集合

match in matches)

{

string word = match.Groups["word"].Value;//获取重复出现的单词

MessageBox.Show(word.ToString(), "英文单词");//弹出消息对话框

}

}

else { MessageBox.Show("没有重复的单词"); }//弹出消息对话框

}

private void Form1_Load(object sender, EventArgs e)

{

label1.Text =//创建字符串对象来自CodeGo.net

"The the quick brown fox fox jumped over the lazy dog dog.";

}

2.正则找到字符串当中重复最多的字符

var arr = str.split('');

str = arr.sort().join('');

这应该是将字符 串按单个 字符 分割,然后排序组合,经过 这一步,相同 的字符 就会排列到 一起

var re = /(\w)\1+/g;

(\w)外面的圆括号表示 分组,\1表示 重复第一分组中的内容 ,\1+表示 \w匹配 到 的字符 重复n次,后面的g表示执行 全部替换

str.replace(re,function($0,$1){

if(index index = $0.length;

value = $1;

}

}

str.replace的第二个参数 是个函数function ,$0表示 整个匹配 到 的字符 串,$1表示 第一捕获分组也就是出现重复的单个 字符 ,将$0.length 与已经记录 过的最多重复index比较,如果$0.length 更大,就将它赋值给index,用value记录重复字符 $1,这个函数 返回 的是替换 文本,但这里没有返回 值,也就是说替换 为空,每次 替换 这个函数 都 被 执行

3.求一个查找相同字符串的正则表达式

虽然大家都说做不了,我还是好奇试了试,结果是似乎可行:

正则:"(.*\r\n)(?=(.*\r\n)*?\1)"(""中的部分)

编辑器:EmEditor 7.0

步骤:1.打开EmEditor,菜单栏选择“搜索”→“在文件中替换”。

2.在“查找”一项填上上述正则。

3.“文件类型”和“搜索文件夹”选择你要替换的文件及其位置。

4.记得选中“使用正则表达式(X)”复选框。

5.点击“替换全部”按钮。

p.s. 别忘了备份。

4.正则表达式求助、关于重复字符组的判断

正则表达式可以判断出重复的字符,但是无法给出重复的次数和重复位置,所以还需要自己来编程解决

完整的Java程序如下

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class AA {

public static void main(String[] args) {

String str="OHnonononogod";

String regex="([A-Za-z]+?)\\1+";

Pattern p = Pattern.compile(regex);

Matcher m = p.matcher(str);

while(m.find()){

String duplicate=m.group(1);

int times=0,start=0,po;

while((po=str.indexOf(duplicate,start))!=-1){

start=po+duplicate.length();

times++;

}

int position=str.indexOf(m.group(0));

System.out.println(str);

System.out.println("重复的字符:"+duplicate);

System.out.println("重复的次数:"+times);

System.out.println("重复的位置:"+(position+1)+"-"+start);

}

}

}

转载请注明出处够酷网 » python正则表达式重复次数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值