java之正则表达式
? ? ?String類的matchs方法用的是正則表達式匹配,matchs方法與equals類似。
? ? ?"javac".matchs("javac");
? ? ?"javac".equals("javac");
? ? ?結果都為true。
? ? match方法更強大,不僅能匹配固定字符串,還能匹配具有相同規律的的字符串。
? ? ”javac jar".macths("javac.*");
? ??”javac jar javac".macths("javac.*");
? ? ”javac jar java".macths("javac.*");
? ??字符串.*匹配任何0個或者多個字符。
二、正則表達式的語法
? ? 正則表達式由字面字符和特殊字符組成。特殊字符(、)、[和]。
? ? 注意:反斜杠是一個特殊字符,在字符串中開始轉義序列。所以java中需要使用\\d來代表\d。
? ??提醒:空白字符是' ', '\t', '\n', '\r', 或者'\f'。
?常用的正則表達式
| 正則表達式 | 匹配 | 事例 |
| x | 指定字符X | javac匹配javac |
| . | 任意單個字符 | javac匹配ja..c |
| (ab|cd) | ab或cd | on匹配o(a|n) |
| [abc] | a、b或者c | pen匹配pe[abn] |
| [^abc} | 除開a、b和cd任意字符 | sun匹配[^abc]un |
| [a-z] | a到z | god匹配go[a-d] |
| [^a-z] | 除開a到z的任意字符 | god匹配go[a-c] |
| [a-e[m-p]] | a到e或者m到p | sun匹配su[a-b[i-o]] |
| [a-e&&[m-p]] | a到e或者m到p | sun匹配su[a-o&&[i-o]] |
| \d | 數字字符,等同于[0-9] | java8匹配"java[\\d]" |
| \D | 非數字字符,等同于[^0-9] | java匹配"jav[\\D]" |
| \w | 單詞字符,等同于[a-zA-Z0-9_] | java匹配"jav\\w" |
| \W | 非單詞字符,等同于[^a-zA-Z0-9_] | java8匹配"java\\W" |
| \s | 空白字符,等同于[\t\n\r\f] | java jar匹配"java\sjar" |
| \S | 非空白字符,等同于[^\t\n\r\f] | java匹配"jav\S" |
| p* | 模式p的0或多次出現 | abab匹配"(ab)*" |
| p+ | 模式p的1或多次出現 | aba匹配"a+ba" |
| p{n} | 模式p的n次出現 | abab不匹配".{2}" |
| p{n, } | 模式p的至少n次出現 | abab匹配".{2,}" |
| p{n,m} | 模式p出現的次數大于等于n且小于等于m | ababa不匹配".{2,4}" |
| p? | 模式p的0或1次出現 | abab不匹配".?" |
?
? ? ?注意:單詞字符是任意的字母、數字或者下劃線字符。
? ? ? ? ???\w等同于[a-z[A-Z][0-9]_]或者化簡為[a-zA-Z0-9_]。
? ? ? ? ? ?\W等同于[^a-zA-Z0-9_]。
? ? ? ? ? ?以斜杠開頭的正則表達式必須加中括號[]。
? ? ? ? ? ?例如:"11-22-33".matchs("[\\w]{2}-[\\w]{2}-[\\w]{2}"); ? ? ? ? ?結果為true
? ? ? ? ? ? ? ? ? ? ? ?"111-22-33".matchs("[\\w]{2}-[\\w]{2}-[\\w]{2}"); ? ? ? ? ?結果為false
? ? ? ? ??小括號符和中括號符都是特殊字符,如果小括號符要表示其字面意思,則必須寫成"\\(","\\)"。 ? ? ? ? ? 例如:"(xxx)xxx-xxx".matchs("\\(x{3}\\)x{3}-x{3}")
?
總結
以上是生活随笔為你收集整理的java之正则表达式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑电源和主板需要怎么匹配?
- 下一篇: Hibernate之必须导入jar包