正則表示式也是一種語言,在解析字串領域獨領風騷。
本文分享關於正則表示式中最常用的關鍵字[^]、^及$的用法
工具/原料
IntelliJ IDEA
Java
Regular expressions
方法/步驟
[^]:這個關鍵字匹配 圈定一個範圍,只要不是這個範圍內的字元都可以哦
^:這個關鍵字匹配 以哪個字串開頭
$:這個關鍵字匹配 以哪個字串結束
先來看看測試的腳手架程式碼:
Code:
package chapter4;import java.util.Arrays;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;public class RegexStudyDemo { public static void main(String[] args) { String regexStr = "Hello[^\\d]!"; List
簡單分析一下上面的正則表示式,
“[^\\d]”就是\D哦
所以,除"Hello7!"不匹配外,其它的字串都匹配
執行下看看結果
Output:
Hello[^\d]! is not match Hello7!!
false
與預期一致
Ok
修改一下正則表示式
匹配一下的字串"Hello7!" 匹配剛才
Code:
String regexStr = "Hello[^\\D]!";
List
執行下看看結果
Output:
true
與預期一致
OK
現在來看看^的用法
更改下程式碼
Code:
String regexStr = "^[\\d]Hello!";
List
解析一下程式碼:
"^[\\d]Hello!":表示必須以數字打頭,後面是“Hello!”的字串
因此不能匹配"xHello!"
執行下看看結果
^[\d]Hello! is not match xHello!!
false
與預期一致
OK
最後來看看$的用法
更改下程式碼
Code:
String regexStr = "Hello![\\d]$";
List
解析一下程式碼:
"^[\\d]Hello!":表示必須數字結尾,前面是“Hello!”的字串
因此不能匹配"Hello!x"
執行下看看結果
Hello![\d]$ is not match Hello!x!
false
與預期一致
OK