本文目录
- java正则表达式如何获取字符串中所有匹配内容
- java 正则表达式 如何匹配“*“
- Java匹配正则表达式的实现
- 请问JAVA中正则表达式匹配怎么实现的!
- 求教java匹配规定函数的正则表达式怎么写
java正则表达式如何获取字符串中所有匹配内容
java正则表达式提取需要用到Matcher类。
正则规则就是“一个数字加上大于等于0个非数字再加上结束符”
Pattern pattern
= Pattern.compile(“(\\d)[^\\d]*$“)
Matcher matcher
= pattern.matcher(s)
if(matcher.find())
System.out.println
(matcher.group(1)); } }
java 正则表达式 如何匹配“*“
报错是因为 *这个字符在正则表达式中已经定义了 好像是代表任意一个字符吧 记不太清了 就好像是你定义一个对象的名字时用到了java关键字一样的道理 改正方法:a.replace(“\\*“,“dog“);\\*对 *进行了转义 是真正的*
Java匹配正则表达式的实现
import java.util.ArrayList;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Test { public static void main(String args) { Pattern pp = Pattern.compile(“\\(|\\)|/|\\*|\\+|\\-|\\d*\\.\\d*|\\d*“); Matcher mm = pp.matcher(“(10.0-54)*45+(32+5.4)/(2+1)“); List《String》 values = new ArrayList《String》(); while(mm.find()){ values.add(mm.group()); } String value = new String[values.size()]; values.toArray(value); for(String str : value){ System.out.println(str); } }}
请问JAVA中正则表达式匹配怎么实现的!
Java中正则表达式匹配的语法规则:
以下是整理出来的Java下运用正则表达式实现匹配的程序案例,代码如下:
package org.luosijin.test;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * 正则表达式 * @version V5.0 * @author Admin * @date 2015-7-25 */public class Regex { /** * @param args * @author Admin * @date 2015-7-25 */ public static void main(String args) { Pattern pattern = Pattern.compile(“b*g“); Matcher matcher = pattern.matcher(“bbg“); System.out.println(matcher.matches()); System.out.println(pattern.matches(“b*g“,“bbg“)); //验证邮政编码 System.out.println(pattern.matches(“{6}“, “200038“)); System.out.println(pattern.matches(“//d{6}“, “200038“)); //验证电话号码 System.out.println(pattern.matches(“{3,4}//-?+“, “02178989799“)); getDate(“Nov 10,2009“); charReplace(); //验证身份证:判断一个字符串是不是身份证号码,即是否是15或18位数字。 System.out.println(pattern.matches(“^//d{15}|//d{18}$“, “123456789009876“)); getString(“D:/dir1/test.txt“); getChinese(“welcome to china,江西奉新,welcome,你!“); validateEmail(“luosijin123@163.com“); } /** * 日期提取:提取出月份来 * @param str * @author Admin * @date 2015-7-25 */ public static void getDate(String str){ String regEx=“([a-zA-Z]+)|//s+{1,2},//s*{4}“; Pattern pattern = Pattern.compile(regEx); Matcher matcher = pattern.matcher(str); if(!matcher.find()){ System.out.println(“日期格式错误!“); return; } System.out.println(matcher.group(1)); //分组的索引值是从1开始的,所以取第一个分组的方法是m.group(1)而不是m.group(0)。 } /** * 字符替换:本实例为将一个字符串中所有包含一个或多个连续的“a”的地方都替换成“A”。 * * @author Admin * @date 2015-7-25 */ public static void charReplace(){ String regex = “a+“; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(“okaaaa LetmeAseeaaa aa booa“); String s = matcher.replaceAll(“A“); System.out.println(s); } /** * 字符串提取 * @param str * @author Admin * @date 2015-7-25 */ public static void getString(String str){ String regex = “.+/(.+)$“; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(str); if(!matcher.find()){ System.out.println(“文件路径格式不正确!“); return; } System.out.println(matcher.group(1)); } /** * 中文提取 * @param str * @author Admin * @date 2015-7-25 */ public static void getChinese(String str){ String regex = “[//u4E00-//u9FFF]+“;//[//u4E00-//u9FFF]为汉字 Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(str); StringBuffer sb = new StringBuffer(); while(matcher.find()){ sb.append(matcher.group()); } System.out.println(sb); } /** * 验证Email * @param email * @author Admin * @date 2015-7-25 */ public static void validateEmail(String email){ String regex = “[0-9a-zA-Z]+@[0-9a-zA-Z]+//.[0-9a-zA-Z]+“; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(email); if(matcher.matches()){ System.out.println(“这是合法的Email“); }else{ System.out.println(“这是非法的Email“); } }}
求教java匹配规定函数的正则表达式怎么写
《option\b(?=[^》]*value=’([^’]*)’)(?:[^》]*vendor=’([^’]*)’)?[^》]*》(.*?)《/option》组1为value组2存在为vendor 不存在就没有这个属性组3为标签显示文本