Java 測試Regex(一)

來源:互聯網
上載者:User

標籤:java   Regex   

本文主要測試字元類的用法,測試的結果作為注釋放在測試方法的後面。

package regularexpression;import java.util.regex.Matcher;import java.util.regex.Pattern;import org.junit.Test;/** * 測試字元類; * @author yuncong * */public class TestRegularExpression {/** * 0. 單個字元匹配其本身 */@Testpublic void test0() {String regex = "d";String input = "1B2s-[[email protected]^";Pattern pattern = Pattern.compile(regex);Matcher matcher = pattern.matcher(input);while (matcher.find()) {String output = matcher.group();System.out.println(output);}}/** * 輸出: * d *//** * 1. [C1C2...],表示任何C1,C2,...中的某個字元,  * 其中Ci可以是是多個字元(如aB)、字元範圍(如A-Z、 * a-z、0-9)或字元類(如[A-Z]、\d) */@Testpublic void test1() {// 多個字元String regex = "[abcd]";String input = "1B2s23d3";Pattern pattern = Pattern.compile(regex);Matcher matcher = pattern.matcher(input);while (matcher.find()) {String output = matcher.group();System.out.println(output);}}/** * 輸出: * d */@Testpublic void test2() {// 字元範圍  String regex = "[A-za-z]";String input = "1B2s23d3";Pattern pattern = Pattern.compile(regex);Matcher matcher = pattern.matcher(input);while (matcher.find()) {String output = matcher.group();System.out.println(output);}}/** * 輸出: * B * s * d */@Testpublic void test3() {// 字元類 String regex = "[[A-za-z][0-9]]";String input = "1B2s23d3";Pattern pattern = Pattern.compile(regex);Matcher matcher = pattern.matcher(input);while (matcher.find()) {String output = matcher.group();System.out.println(output);}}/** * 輸出: * 1 * B * 2 * s * 2 * 3 * d * 3 *//** * 2. [^...],表示字元類的補集中的某個字元 */@Testpublic void test4() {String regex = "[^A-za-z]";String input = "1B2s23d3";Pattern pattern = Pattern.compile(regex);Matcher matcher = pattern.matcher(input);while (matcher.find()) {String output = matcher.group();System.out.println(output);}}/** * 輸出: * 1 * 2 * 2 * 3 * 3 *//** * 如果字元類包含^,^可以放在除開始位置之外的任何位置, * 也就是說,只有當^放在開始位置時,才具有取補的功能 */@Testpublic void test5() {// 第二個^就是一個普通的匹配字元String regex = "[^0-9^]";String input = "1B2s2^[email protected]^3";Pattern pattern = Pattern.compile(regex);Matcher matcher = pattern.matcher(input);while (matcher.find()) {String output = matcher.group();System.out.println(output);}}/** * 輸出: * B * s * d * @ *//** * 如果字元類包含-,-必須是第一項或者最後一項 */@Testpublic void test6() {String regex = "[-0-9]";String input = "[email protected]^";Pattern pattern = Pattern.compile(regex);Matcher matcher = pattern.matcher(input);while (matcher.find()) {String output = matcher.group();System.out.println(output);}}/** * 輸出: * 2 * - * 2 * 3 * 3 *//** * 如果字元類中包含[,必須放在第一項並且轉義 */@Testpublic void test7() {String regex = "[\\[0-9]";String input = "1B2s-[[email protected]^";Pattern pattern = Pattern.compile(regex);Matcher matcher = pattern.matcher(input);while (matcher.find()) {String output = matcher.group();System.out.println(output);}}/** * 輸出: * 1 * 2 * [ * 2 * 3 * 3 *//** * 3. [...&&...],兩個字元類的交集 */@Testpublic void test8() {String regex = "[abcd&&a-z]";String input = "1B2s-[[email protected]^";Pattern pattern = Pattern.compile(regex);Matcher matcher = pattern.matcher(input);while (matcher.find()) {String output = matcher.group();System.out.println(output);}}/** * 輸出: * d *//** * 4. \w, 一個詞語字元類(也就是一個單詞中可能存在的字元), * 等價於[A-Za-z0-9_] */@Testpublic void test9() {String regex = "\\w";String input = "1B2s-[23d李@3^";Pattern pattern = Pattern.compile(regex);Matcher matcher = pattern.matcher(input);while (matcher.find()) {String output = matcher.group();System.out.println(output);}}/** * 輸出: * 1 * B * 2 * s * 2 * 3 * d * 3 *//** * 5. \p{name}, 表示一個命名字元類 */@Testpublic void test10() {String regex = "\\p{Upper}";String input = "1B2s-[23d李@3^";Pattern pattern = Pattern.compile(regex);Matcher matcher = pattern.matcher(input);while (matcher.find()) {String output = matcher.group();System.out.println(output);}}/** * 輸出: * B */}


Java 測試Regex(一)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.