java的正则表达

Posted XLS小

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java的正则表达相关的知识,希望对你有一定的参考价值。

正则表达式(Regular Expression):

正则表达式中的特殊字符
特殊字符说明
$ 匹配一行的结尾。要匹配 $ 字符本身,请使用\\$
^ 匹配一行的开头。要匹配 ^ 字符本身,请使用\\^
() 标记子表达式的开始和结束位置。要匹配这些字符,请使用\\(\\)
[] 用于确定中括号表达式的开始和结束位置。要匹配这些字符,请使用\\[\\]
{} 用于标记前面子表达式的出现频度。要匹配这些字符,请使用\\{\\}
* 指定前面子表达式可以出现零次或多次。要匹配 * 字符本身,请使用\\*
+ 指定前面子表达式可以出现一次或多次。要匹配 + 字符本身,请使用\\+
? 指定前面子表达式可以出现零次或一次。要匹配 ?字符本身,请使用\\?
. 匹配除换行符\\n之外的任何单字符。要匹配.字符本身,请使用\\.
\\ 用于转义下一个字符,或指定八进制、十六进制字符。如果需匹配\\字符,请用\\\\
| 指定两项之间任选一项。如果要匹配字符本身,请使用\\|

[]方括号表达式:

  [abc]表示 a、b、c 其中任意一个字符;

  [a-h]表示a-h中的任意一个字符;

  [^a]表示非a的字符

  [a-z&&[def]]是 a~z 和 [def] 的交集,表示 d、e

  [a-d][m-p]表示 [a-dm-p]

X{m,n}  表示X表达式最少出现 n 次,最多出现 m 次

 

例如:Matcher m = Pattern.compile("((13\\\\d)|(15\\\\d))\\\\d{8}").matcher(str);    //匹配13或15开头的11位数字(用正则表达式编译后的去匹配str字符串)

  String regex = "0\\\\d{2,3}[-]?\\\\d{7,8}|0\\\\d{2,3}\\\\s?\\\\d{7,8}|13[0-9]\\\\d{8}|15[1089]\\\\d{8}";   

  \\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}        //IP地址的匹配 

以上是关于java的正则表达的主要内容,如果未能解决你的问题,请参考以下文章

text 正则表达式片段

markdown 正则表达式模式片段

java 字符串替换

正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性

java正则表达式去除html标签

循环通过 python 正则表达式匹配