正则不能输入特殊字符_正则表达式语法学习和在线练习
生活随笔
收集整理的這篇文章主要介紹了
正则不能输入特殊字符_正则表达式语法学习和在线练习
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
標題: 正則表達式語法學習和在線練習
作者: 夢幻之心星 sky-seeker@qq.com
標簽: [#正則表達式,#語法,#學習,#練習]
目錄: [語法]
日期: 2021-01-26
背景說明
- 正則表達式使搜索和替換操作更加靈活高效。
- 許多程序設計語言都支持使用正則表達式進行字符串操作。
- 正則表達式是由普通字符和特殊字符組成的文字模式。
- 正則表達式的組件可以是單個的字符、字符集合、字符范圍、字符間的選擇或者所有這些組件的任意組合。
- 正則表達式描述了一種字符串匹配的模式,可以用來檢查一個串是否含有某種子串、將匹配的子串替換或者從某個串中取出符合某個條件的子串等。
語法說明
普通字符
普通字符包括沒有顯式指定為元字符的所有可打印和不可打印字符。這包括所有大寫和小寫字母、所有數字、所有標點符號和一些其他符號。
字符描述 [ABC] 匹配字符集合中的任意一個字符 [^ABC] 匹配字符集合中未包含的任意字符 [A-Z] 匹配指定范圍內的任意字符 [^A-Z] 匹配任何不在指定范圍內的任意字符
非打印字符
非打印字符也可以是正則表達式的組成部分。
字符描述 \cx 匹配由x指明的控制字符。x的值必須為 A-Z 或 a-z 之一 \f 匹配一個換頁符。等價于 \x0c 和 \cL \n 匹配一個換行符。等價于 \x0a 和 \cJ \r 匹配一個回車符。等價于 \x0d 和 \cM \t 匹配一個制表符。等價于 \x09 和 \cI \v 匹配一個垂直制表符。等價于 \x0b 和 \cK \s 匹配任何空白字符,包括空格、制表符、換頁符等 \S 匹配任何非空白字符 \w 匹配字母、數字、下劃線、漢字 \W 匹配非字母、數字、下劃線、漢字 \d 匹配一個數字字符。等價于 [0-9] \D 匹配一個非數字字符。等價于 [0-9]
特殊字符
匹配特殊字符時必須進行轉義,即放置反斜杠字\在特殊字符前面。
特別字符描述 \ 將下一個字符標記為一個特殊字符 . 匹配除換行符(\n、\r)之外的任何單個字符 | 匹配二者之一
限定符
限定符用來指定正則表達式的一個給定組件的出現次數。
字符描述 * 匹配前面的子表達式零次或多次。等價于 {0,} + 匹配前面的子表達式一次或多次。等價于 {1,} ? 匹配前面的子表達式零次或一次。等價于 {0,1} {n} n 是一個非負整數。匹配確定的 n 次 {n,} n 是一個非負整數。至少匹配 n 次 {n,m} m 和 n 均為非負整數,其中 n <= m 。最少匹配 n 次且最多匹配 m 次
捕獲元
捕獲分組的捕獲匹配結果可以通過$n(表示第 n 個捕獲組的內容)查看。
字符描述 (exp) 匹配 exp 并捕獲這一匹配 (?:exp) 匹配 exp 但不捕獲匹配結果。也就是說這是一個非捕獲匹配 exp1(?=exp2) 正向肯定預查。用于查找 exp2 前面的 exp1 exp1(?!exp2) 正向否定預查。用于查找后面不是 exp2 的 exp1 (?<=exp2)exp1 反向肯定預查,與正向肯定預查類似,只是方向相反。用于查找 exp2 后面的 exp1 (? 反向否定預查,與正向否定預查類似,只是方向相反。用于查找前面不是 exp2 的 exp1
定位符
定位符將正則表達式固定到行首或行尾,不能與限定符一起使用。
字符描述 ^ 匹配輸入字符串開始的位置 $ 匹配輸入字符串結尾的位置 \b 匹配一個單詞邊界,即單詞和空格間的位置 \B 匹配非單詞邊界
修飾符
用于指定額外的匹配策略。位于表達式之外
修飾符含義描述 i ignore 將匹配設置為不區分大小寫 g global 全局匹配,查找所有的匹配項。 m multiline 多行匹配,使邊界字符 ^ 和 $ 匹配每一行的開頭和結尾 s 特殊字符圓點 . 中包含換行符 \n 默認情況下的圓點 . 是匹配除換行符 \n 之外的任何字符,加上 s 修飾符之后, . 中包含換行符 \n。
運算符優先級
相同優先級的從左到右進行運算,不同優先級的運算先高后低。
運算符描述 \ 轉義符 (), (?:), (?=), [] 圓括號和方括號 *, +, ?, {n}, {n,}, {n,m} 限定符 ^, $, \任何元字符、任何字符 定位點和序列 | "或"操作字符具有高于替換運算符的優先級
在線練習
- RegexOne-學習正則表達式
- RegExr:學習,構建和測試RegEx
- 在線正則表達式測試器和調試器
注意事項
- 限定符 * 和 + 都是貪婪匹配,會匹配盡可能多的字符。
- 在限定符的后面加上一個 ? 可以實現懶惰匹配,匹配盡可能少的字符。
參考資料
- 正則表達式 – 教程 | 菜鳥教程
- 正則表達式30分鐘入門教程
版權聲明:本文為「夢幻之心星」原創,依據 CC BY-NC-SA 4.0 許可證進行授權,轉載請附上原文出處鏈接及本聲明。
博客園地址:https://www.cnblogs.com/Sky-seeker微信公眾號:關注微信公眾號,獲取即時推送
總結
以上是生活随笔為你收集整理的正则不能输入特殊字符_正则表达式语法学习和在线练习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 搭建opencv环境
- 下一篇: java kafka搭建,Apache