<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Java 基本正則表達式 > 原文: [https://javatutorial.net/basic-java-regular-expressions](https://javatutorial.net/basic-java-regular-expressions) 今天,我將向您展示正則表達式的基礎知識以及如何在 Java 中使用它們。 這不會是詳盡且詳細的**正則表達式教程**。 正則表達式本身就是一個巨大的話題。 我將僅向您展示基礎知識,因此您可以快速開始在項目中使用正則表達式。 沒有冗長的解釋,沒有倉促……僅舉幾個例子,您就可以開始了。 ![regular expressions java](https://img.kancloud.cn/b1/df/b1dffd506217a20d6e5384ddbcbd7992_715x397.jpg) ## 字符串類中的正則表達式方法 Java 8 中的`String`類具有一些使用正則表達式(或 regex)的方法。 這是此方法的列表。 有關更多詳細信息,您可以在中檢查[字符串 javadoc](https://docs.oracle.com/javase/8/docs/api/java/lang/String.html)。 * `boolean String.matches(String regex)` – 判斷此字符串是否與給定的正則表達式匹配 * `String replaceAll(String regex, String replacement)` – 用給定的替換項替換與給定的正則表達式匹配的此字符串的每個子字符串 * `String replaceFirst(String regex, String replacement)` – 用給定的替換替換與給定的正則表達式匹配的此字符串的第一個子字符串 * `String[] split(String regex)` – 圍繞給定正則表達式的匹配項拆分此字符串 * `String[] split(String regex, int limit)` – 圍繞給定正則表達式的匹配項拆分此字符串。 模式被“限制”應用了次數 ## 匹配一個字符 假設我們有以下字符串:`"Hello, it’s me"`,我們想用空格分隔其中的單詞。 ```java String str = "Hello, it's me"; String[] words = str.split(" "); for (String word : words) { System.out.println(word); } ``` 這將產生以下輸出 ```java Hello, it's me ``` 但是,如果我們像這樣在`"it's"`和`"me"`之間放置兩個空格怎么辦:`"Hello, it’s me"`? 我們程序的輸出將是: ```java Hello, it's me ``` 那么如何避免這種情況呢? 繼續閱讀,您會發現?? ## 重復 `+`號表示在同一行中匹配 1 個或多個。 讓我們回到前面的示例`"Hello, it’s me"`,在`"it’s"`和`"me"`之間有兩個空格。 在我們的代碼中,我們將模式更改為` +`。 在這種情況下,我們將連續匹配 1 個或多個空格 ```java String str = "Hello, it's me"; String[] words = str.split(" +"); for (String word : words) { System.out.println(word); } ``` 輸出為: ```java Hello, it's me ``` ## 連接 使用正則表達式,我們可以連續匹配一個字符串或多個字符,并以此作為正則表達式模式。 例如,模式`ing`將匹配如下: ```java "Earning money is easy as counting 1 2 33. Nah!" *** ``` 換句話說,如果在我們的字符串中提供`ing`,則該字符串匹配。 ## 結合連接和重復 模式:`ar+`將匹配 ```java "arrows are not as fast as bullets" *** ** ``` ## 匹配零個或多個 模式:`"it*"`將匹配 ```java "it‘s fun to learn just sitting in front of my computer" ** **** * ``` `*`(星號)將匹配`i`,后跟零個或多個`t`。 在我們的示例中,它將匹配`it`,`itt`,`i`,`i` ## 交替 模式:`ea|in`將匹配 ```java "earning money is easy as counting 1 2 33. Nah!" ** ** ** ** ``` `|`(豎線符號)將匹配`ea`或`in`。 ## 字符類 模式:`[123]`將匹配 ```java "Earning money is easy as counting 1 2 33. Nah!" * * ** ``` `[]`匹配集合中的任何字符 ## 匹配范圍 模式:`[1-3]`將匹配 ```java "Earning money is easy as counting 1 2 33. Nah!" * * ** ``` 模式:`[a-f]`將匹配 ```java "Earning money is easy as counting 1 2 33. Nah!" * * * * * ``` ## 排除字符 模式:`[^a-z123]`將匹配 ```java "Earning money is easy as counting 1 2 33. Nah!" * * * * ``` `^`表示此集合中沒有任何字符 ## 驗證電子郵件地址正則表達式 我將舉一個示例,說明如何使用 Java 驗證電子郵件地址。 這更復雜,但常用的正則表達式模式: ```java ^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$; ``` 和實現: ```java String email = "info@javatutorial.net"; if (email.matches("^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$;")) { System.out.println(email + "is a valid e-mail address"); } else { System.out.println(email + "is invalid e-mail address"); } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看