正则表达式的规则
Posted 码上加油站
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式的规则相关的知识,希望对你有一定的参考价值。
A:字符类
* [abc] a、b 或 c(简单类)
* [^abc] 任何字符,除了 a、b 或 c(否定)
* [a-zA-Z] a到 z 或 A到 Z,两头的字母包括在内(范围)
* [0-9] 0到9的字符都包括
B:预定义字符类
* . 任何字符。
* \d 数字:[0-9]
* \w 单词字符:[a-zA-Z_0-9]
C:Greedy 数量词
* X? X,一次或一次也没有
* X* X,零次或多次
* X+ X,一次或多次
* X{n} X,恰好 n 次
* X{n,} X,至少 n 次
* X{n,m} X,至少 n 次,但是不超过 m 次
package com.loaderman.regex; public class Demo_Regex { /** * Greedy 数量词 X? X,一次或一次也没有 X* X,零次或多次 X+ X,一次或多次 X{n} X,恰好 n 次 X{n,} X,至少 n 次 X{n,m} X,至少 n 次,但是不超过 m 次 */ public static void main(String[] args) { //demo1(); //demo2(); //demo3(); //demo4(); //demo5(); String regex = "[abc]{5,15}"; System.out.println("abcba".matches(regex)); System.out.println("abcbaabcabbabab".matches(regex)); System.out.println("abcb".matches(regex)); System.out.println("abcbaabaabcbaaba".matches(regex)); } public static void demo5() { String regex = "[abc]{5,}"; System.out.println("abcba".matches(regex)); System.out.println("abcbaabcabbabab".matches(regex)); System.out.println("abcb".matches(regex)); System.out.println("abcbaaba".matches(regex)); } public static void demo4() { String regex = "[abc]{5}"; System.out.println("abcba".matches(regex)); System.out.println("abcbaabcabbabab".matches(regex)); System.out.println("abcb".matches(regex)); System.out.println("abcbaaba".matches(regex)); } public static void demo3() { String regex = "[abc]+"; System.out.println("".matches(regex)); System.out.println("a".matches(regex)); System.out.println("aaaaabbbbccccc".matches(regex)); } public static void demo2() { String regex = "[abc]*"; System.out.println("".matches(regex)); System.out.println("abc".matches(regex)); System.out.println("a".matches(regex)); } public static void demo1() { String regex = "[abc]?"; System.out.println("a".matches(regex)); System.out.println("b".matches(regex)); System.out.println("c".matches(regex)); System.out.println("d".matches(regex)); System.out.println("".matches(regex)); } }
以上是关于正则表达式的规则的主要内容,如果未能解决你的问题,请参考以下文章