java中的正则表达式语法_正则表达式或者怎么表示

Java (5) 2024-06-15 16:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
java中的正则表达式语法_正则表达式或者怎么表示,希望能够帮助你!!!。

一、正则表达式的构成

1、字符类:

①[abc]: a、b、c

②[^abc]: 任何字符,除了a、b、c

③[a-zA-Z]: a到z或A到Z,两头的字母包含在内(范围)

2、预定义字符类

① .   : 任何字符

②\d  : 数字: [0-9]

③\D :非数字:[^0-9]

④\s  :空白字符:[ \t\n\x0B\f\r]

⑤\S :非空白字符:[^\s]

⑥\w :单词字符:[a-zA-Z_0-9]

⑦\W:非单词字符:[^\w]

3、POSIX字符集(仅US-ASCII)

①\p{Lower} 小写字母字符:[a-z]

②\p{Upper} 大写字母字符:[A-Z]

③\p{ASCII} 所有ASCII:[\x00-\x7F]

④\p{Alpha} 字母字符:[\p{Lower}\p{Upper}]

⑤\p{Digit} 十进制数字:[0-9]

⑥\p{Alnum} 字母数字字符:[\p{Alpha}\p{Dight}]

⑦\p{Punct} 标点符号:!"#$%'()*+,-./:;<=>?@[]^_`{|}~

⑧\p{Blank} 空格或制表符:[\t]

4、边界匹配符

①^ :行的开头

②$ :行的结尾

5、Greed数量词

①X? :X,一次或一次也没有

②X* :X,零次或多次

③X+ :X,一次或多次

④X{n} : X,恰好n次

⑤X{n,} :X,至少n次

⑥X{n,m}: X,至少n次,但是不超过m次

6、Logical 运算符

①XY :X后跟Y

②X|Y :X或Y

③(X):X,作为捕获组

7、特殊构造(非捕获)

(?:X)  X,作为非捕获组

  (?=X)  X,通过零宽度的正 lookahead

  (?!X)    X,通过零宽度的负 lookahead

  (?<=X) X,通过零宽度的正 lookbehind

  (?<!X)  X,通过零宽度的负 lookbehind

  (?>X)   X,作为独立的非捕获组


二、常见的正则表达式

  • 验证用户名和密码,要求第一个字必须为字母,一共6~16位字母下划线组成:(^[a-zA-Z]\w{5-15}$)
  • 验证电话号码:xxx/xxxx-xxxxxxx/xxxxxxxx:(^(\d{3-4})\d{7,8}$)
  • 验证手机号:(^(13[0-9]|14[5|7]15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$)
  • 验证身份证:(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)
  • 验证Email地址:(^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*$)
  • 只能输入由数字和26个英文字母组成的字符串:(^[A-Za-z0-9]+$)
  • 数字或小数:(^[0-9]+(.[0-9]+){0,1}$)
  • 中文字符的正则表达式:([\u4e00-\u9fa5])
  • 金额校验(非零开头的最多带两位小数的数字):(^([1-9][0-9]*)+(.[0-9]{1,2})?$)
  • IPV4地址:(((\d{1,2})|(1\d{1,2})|(2[0-4]\d)|(25[0-5]))\.){3}((\d{1,2})|(1\d{1,2})|(2[0-4]\d)|(25[0-5]))

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

发表回复