java中关于正则表达式的问题

问题描述

我查看,字符串中是否存在“80,”或者"80,"或者",80,"这三种情况,例如:"169,172009012410208000000,1,80,193,186,185" 返回存在或者不存在String str = "169,172009012410208000000,1,80,193,186,185";boolean flag = str.matches("正则表达式");请教各位,这个正则该如何写呢 问题补充:pwc_pengwenchao 写道

解决方案

Pattern.compile("^.*((80,)|(,80))+.*$");这样.
解决方案二:
Pattern.compile("^.*(((80,)+)|((,80,)+)|((,80)+)).*$");你的加工下就行了.不过看起来有点哆嗦,试试优化下.
解决方案三:
引用这种条件是不能满足的:169,172009012410208000000,1,1801,10,193,186,185,80 这个...题意不符啊...引用我查看,字符串中是否存在“80,”或者"80,"或者",80,"这三种情况,例你没说有 ",80" 的.......
解决方案四:
引用有种情况避免不了啊:如String str = "169,172009012410208000000,1,180,10,193,186,185"; 这也是返回到的true,我只要找单个的80, 是返回true的啊,我的意思是:",80," 这种情况是在 "80," 之后的,如果有"80,"存在就可以返回true了.Pattern.compile("^.*(80,)+.*$"); 可以满足了.
解决方案五:
不用判断左边的逗号了吧? 引用我查看,字符串中是否存在“80,”或者"80,"或者",80,"这三种情况,例这是2种情况吧,有"80,"就行了?Pattern.compile("^.*(80,)+.*$");
解决方案六:
boolean flag = str.matches("^.*,?80,?.*$");

时间: 2025-01-30 17:58:45

java中关于正则表达式的问题的相关文章

详解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中使用正则表达式处理文本数据_正则表达式

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

优化Java中的正则表达式

        原文地址: http://www.javaworld.com/javaworld/jw-09-2007/jw-09-optimizingregex.html         如果你花费了数小时和正则表达式做斗争,只是为了让它完成它几秒内就可以完成的匹配,那么这篇文章正是为你量身定做的.Cristian Mocanu指出了在什么地方正则模式匹配会发生延迟,并且解释了为什么.然后,他演示了如何做更多的回缩(backtracking)而不是迷失在其中,如何优化贪婪模式和勉强模式(译者注

【java 正则表达式】记录所有在java中使用正则表达式的情况

本篇记录在java中邂逅正则表达式的所有美丽瞬间.因为在java和js中正则表达式的语法并不一致.   1.匹配字符串中有出现[2.1开头或者&2.1或者&3.1等的] Pattern m =Pattern.compile("^(2\\.).*|.*?(&2\\.1)+.*|.*?(&3\\.1)+.*|.*?(&4\\.1)+.*|.*?(&5\\.1)+.*"); m.matcher(字符串).matches(); 第二行为true即

Java中使用正则表达式实现字符串匹配

正则|字符串 黑暗岁月 有一个String,如何查询其中是否有y和f字符?最黑暗的办法就是: 程序1:我知道if.for语句和charAt()啊. class Test{ public static void main(String args[]) { String str="For my money, the important thing "+"about the meeting was bridge-building"; char x='y'; char y=

在Java中使用正则表达式

jdk1.4中加入了java.util.regex包提供对正则表达式的支持.而且Java.lang.String类中的replaceAll和split函数也是调用的正则表达式来实现的. 正则表达式对字符串的操作主要包括:字符串匹配,指定字符串替换,指定字符串查找和字符串分割.下面就用一个例子来说明这些操作是如何实现的: <%@ page import="java.util.regex.*"%> <% Pattern p=null; //正则表达式 Matcher m=

Java中使用正则表达式获取网页中所有图片的路径_java

/** * 从HTML源码中提取图片路径,最后以一个 String 类型的 List 返回,如果不包含任何图片,则返回一个 size=0 的List * 需要注意的是,此方法只会提取以下格式的图片:.jpg|.bmp|.eps|.gif|.mif|.miff|.png|.tif|.tiff|.svg|.wmf|.jpe|.jpeg|.dib|.ico|.tga|.cut|.pic * @param htmlCode HTML源码 * @return <img>标签 src 属性指向的图片地址的

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中常用正则表达式

自从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 换页