正则表达式基本入门必备知识

1、java正则表达式在我们对字符进行判断是否符合需求时,极大的方便了我们的编程。正则是一个难点,但是在开发中最常用的也就莫过于几个方法,和一些表达式

(1)首先我们来掌握下,学习正则我们必须首先知道一些字符串的基本方法

判断功能
public boolean matches(String regex)
分割功能
public String[] split(String regex)
替换功能
public String replaceAll(String regex,String replacement)
(2)匹配符有很多种,但是常用的莫过于这几种,掌握下面足以应付日常开发。

A:字符
x 字符 x。举例:'a'表示字符a
\\ 反斜线字符。
\n 新行(换行)符 ('\u000A') 
\r 回车符 ('\u000D')

B:字符类
[abc] a、b 或 c(简单类) 
[^abc] 任何字符,除了 a、b 或 c(否定) 
[a-zA-Z] a到 z 或 A到 Z,两头的字母包括在内(范围) 
[0-9] 0到9的字符都包括
\"^[\u4e00-\u9fa5]{0,}$" 汉字
[\u4e00-\u9fa5]
[\u4e00-\u9fa5]

C:预定义字符类
. 任何字符。我的就是.字符本身,怎么表示呢? \.
\d 数字:[0-9]
\w 单词字符:[a-zA-Z_0-9]
在正则表达式里面组成单词的东西必须有这些东西组成
                                                                                 
D:边界匹配器
^ 行的开头 
$ 行的结尾 
\b 单词边界
就是不是单词字符的地方。
举例:hello world?haha;xixi

E:Greedy 数量词 
X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次 
X{n,} X,至少 n 次 
X{n,m} X,至少 n 次,但是不超过 m 次 

(3)、最后配上自己写的几个案例测试

package jsu.java.regex;

import java.lang.reflect.Array;
import java.util.Arrays;

import org.junit.Test;

public class ChaMatch {
		//选取字符中的所有字母字符
	/**
	 * 结果
	 * fdjkafdasjfafjdfdaklfdasjkffkds
	 *[C@392fe8
	 */
	
	@Test
	public void getAz(){
		String str="fdjka ,fdasjf afjdfdakl ,fdasjkf:,}{fkds,334";
		String regex="[^a-zA-Z]";
		String arr = str.replaceAll(regex, "");
	
		System.out.println(arr);
		
		char[] array = arr.toCharArray();
		System.out.println(array.toString());
		
	}
	/**
	 * false
		false
		true
		true

	 */
	@Test
	public void matchRegex(){
		String str=",ffg  75843 ][\\ hsere我们  jdfhasjk1";
		String regex="[a-z]";
		boolean flag = str.matches(regex);
		String regex1="\\.{1,}[a,z]";
		System.out.println(flag);
		
		boolean flag2 = str.matches(regex1);
		System.out.println(flag2);
		
		String regex3=".+";
		boolean flag3 = str.matches(regex3);
		System.out.println(flag3);
		

		String regex4=",[a-z]+.+1$";
		boolean flag4 = str.matches(regex4);
		System.out.println(flag4);
	}
	/**
	 * true
	 */
	@Test
	public void matchChinaese(){
		String str="A我没让你就放开手发的身份卡";
		String regex="A[\u4e00-\u9fa5]+";
		boolean flag = str.matches(regex);
		
		System.out.println(flag);
	}
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值