1.什麼是正則表達式
也叫模式,就是一個匹配或者不匹配某字符串的模板.
2.使用簡易模式匹配
# 在匹配$_時,把模式寫在正斜槓/就可以了.
也叫模式,就是一個匹配或者不匹配某字符串的模板.
2.使用簡易模式匹配
# 在匹配$_時,把模式寫在正斜槓/就可以了.
- $_ = "test";
- print ok if /test/;
# 如果匹配到test打印ok
# // 要麼返回真要麼返回假
在//中支持:
反斜線轉義\
變量(不帶雙引號)
3.關於元字符
什麼是元字符其實就是一些特殊字符.
# // 要麼返回真要麼返回假
在//中支持:
反斜線轉義\
變量(不帶雙引號)
3.關於元字符
什麼是元字符其實就是一些特殊字符.
- .
代表換行符\n以外的所有字符.
如果想匹配點怎麼辦?
如果想匹配點怎麼辦?
- \.
# 轉義啊
想要匹配反斜線呢?
想要匹配反斜線呢?
- \\
# 轉下自己
4.簡易量詞
4.簡易量詞
- * 表示它前面的那個字符重複任意次.含0(零)次.
- .* 除換行符外的所有字符
- + 表示前面的字符重複1次以上,至少1次
- ? 表示前面的字符重複1次或者0次
5.模式分組
用小括號來分組(),小括號也是元字符.
- ()()
- \1\2
#引用分組
注意
注意
- use 5.010;
- \g{N}
# 解決這個問題\133
# 支持\g{-1}
6.則一匹配
# 支持\g{-1}
6.則一匹配
- |
# 管道,表示左邊或者右邊
7.字符集
7.字符集
- [a-zA-Z]
# 所有大小寫字母中的任一
# 連字符是元字符
# 連字符是元字符
- [abc]
# abc中任一
- [^abc]
# 不匹配abc中任意一個
簡寫
\d 所有數字中的任一
\w 字符數字下劃線中的任一字符
\s 5種空白的任一個[\f\t\n\r ]換頁製表換行回車空格
\D \W \S
# 正好跟上面小寫的相反
簡寫
\d 所有數字中的任一
\w 字符數字下劃線中的任一字符
\s 5種空白的任一個[\f\t\n\r ]換頁製表換行回車空格
\D \W \S
# 正好跟上面小寫的相反
- \s+
# 任意數目的空白
- .* == [\d\D]