java-Java关于正则表达式的一个问题

问题描述

Java关于正则表达式的一个问题

如果用固定几个符号(I,M,C,X,D,V,L)写成一个字符串 ,如IIIMCCCDVLCXCXXXX(符号也可以不全用)
需要判断:I,M,C,X这4个符号最多连续出现3次,如果连续出现第四次则必须中间穿插其他的符号(如:XXXLX)。D,V,L这3个符号不能重复出现(整个字符串中只能出现一次).
如何用正则表达式来表示?

解决方案

这个得自己写个算法吧,用正则有点困难啊

时间: 2025-01-29 23:46:35

java-Java关于正则表达式的一个问题的相关文章

Java中使用正则表达式的一个简单例子及常用正则分享_java

import java.util.Scanner; public class regexTest { // 新建类 public static void main(String[] args){ // 主方法 Scanner sc = new Scanner(System.in); // new Scanner类对象 System.out.println("Please Enter Email:"); String email = sc.nextLine(); System.out.p

java正则表达式的一个问题

问题描述 java正则表达式的一个问题 我现在需要写一个正则匹配 BA BC CA CB 中的一个,不分大小写,两字母中间可以有斜杠,这个组合可以出现两次,用逗号隔开 我写了这样一个正则,但是太长了,有简便一些的写法吗? [B|b]/?[A|a]|[C|c]/?[A|a]|[B|b]/?[C|c]|[C|c]/?[B|b]((,|,)[\s\p{Zs}]*[B|b]/?[A|a]|[C|c]/?[A|a]|[B|b]/?[C|c]|[C|c]/?[B|b])? 解决方案 正则中可以忽略大小写匹配

java线程池当其中一个线程算出结果,终止全部线程

问题描述 java线程池当其中一个线程算出结果,终止全部线程 业务逻辑: 一个大型社区,每一秒有上千人在提交留言,提交的留言将经过,上万条的正则表达式的过滤,没有匹配任何规则的,才保存到系统,否则提示用户,您录入的内容不合法. 我是这样想的,把这上万条正则表达式,拆分成2000条一组,开一个5个线程的线程池,每个线程将负责其中2000个规则的匹配. 每条留言提交时,将由这5个线程,去判断是否有匹配的规则,如果其中一个线程匹配到了规则,将结束其他4个线程的任务,返回给用户结果. 请问这种要怎么实现

详解Java中的正则表达式

详解Java中的正则表达式,并列出常用的正则表达式语法和一些常用的场景. 判断一个字符串是否是由数字组成: 当不使用正则表达式的时候的实现代码: public class RegexDemo01 { public static void main(String[] args) { String s = "23432324"; char c[] = s.toCharArray();//将字符串转换成字符数组 for (int i = 0; i < c.length; i++) {

【JAVA基础】正则表达式

正则表达式就是我们程序员为了在海量数据中搜索到符合我们规定的格式的数据所采用的一种规范,官方一点就是说正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符").模式描述在搜索文本时要匹配的一个或多个字符串. 下面我们介绍一下正则表达式的规则,而且会给出一个详尽的实例来让你完全理解正则表达式的应用. 1.正则表达式的构造摘要  正则表达式的构造摘要  构造 匹配     字符  x 字符 x  \\ 反斜线字符  \0n 带有八进制值 0 的字符

求解java代码中正则表达式

问题描述 求解java代码中正则表达式 求大神告知这段代码什么意思 String patternStr = Environment.getExternalStorageDirectory() + "/" +EditNoteActivity.IMG_DIR + "/.+?.w{3}"; 解决方案 这个正则是错误的吧? .+?.w{3} 在 "/"的 外边? 解决方案二: 给变量patternStr 赋值:值为:" 返回 /sdcard (

Java编程中正则表达式的用法总结_java

1. 字符串中的正则表达式使用正则表达式可以对字符串进行查找.提取.分割.替换等操作.String类当中提供了如下几个特殊方法: boolean matches(String regex):判断该字符串是否匹配指定的正则表达式. String replaceAll(String regex, String replacement):将该字符串中所有匹配regex的子串替换成replacement. String[] split(String regex):以regex作为分隔符,把该字符串分割成

Java中常用正则表达式

自从jdk1.4推出java.util.regex包,就为我们提供了很好的JAVA正则表达式应用平台. 因为正则表达式是一个很庞杂的体系,所以我仅例举些入门的概念,更多的请参阅相关书籍及自行摸索. \ 反斜杠 t 间隔 (' ') n 换行 (' ') r 回车 (' ') d 数字 等价于[0-9] D 非数字 等价于[^0-9] s 空白符号 [tnx0Bfr] S 非空白符号 [^tnx0Bfr] w 单独字符 [a-zA-Z_0-9] W 非单独字符 [^a-zA-Z_0-9] f 换页

java怎样用正则表达式匹配文档注释,如“/**@date 2012-1-2*/”?

问题描述 现在想做个把文件的文档注释删除的东西?不知道java怎样用正则表达式来匹配,请各位帮忙 问题补充:牟盖东 写道 解决方案 写了个例子,你可以参照下package iteyeQuestions;/* * java怎样用正则表达式匹配文档注释,如"斜杠**@date 2012-1-2*斜杠"? * 现在想做个把文件的文档注释删除的东西?不知道java怎样用正则表达式来匹配,请各位帮忙 */import java.io.BufferedReader;import java.io.B

Java中使用正则表达式处理文本数据_正则表达式

本文将介绍如何在Java中使用正则表达式来处理文本数据.正则表达式就是一个字符串,但和普通的字符串不同的是,正则表达式是对一组相似字符串的抽象,如下面的几个字符串: a98b   c0912d   c10b   a12345678d   ab 我们仔细分析上面五个字符串,可以看出它们有一个共同特征,就是第一个字符必须是'a'或'c',最后一个字符必须是'b'或'd',而中间的字符是任意多个数字组成(包括0个数字).因此,我们可以将这五个字符串的共同特点抽象出来,这就产生了一个正则表达式:[ac]