大綱:
語法實戰
反向引用、替換
一、語法
捕獲組:匹配子表示式內容,匹配結果以編號或顯示命名的方式存在記憶體,可供正則本身,也可供替換使用。
語法:數字編號(pattern),匹配結果儲存為數字。
顯示命名(?pattern),匹配結果儲存到變數name中。
非捕獲(?:pattern),標識不需要儲存的組。
二、實戰
文字:1990-10-10
文字為乙個日期,需要分別找出年、月、日。
2.1數字編號:
public static voidmain(string args) /*** 共3組
* 第0組:1990-10-10
* 第1組:1990
* 第2組:10
* 第3組:14*/
第0組為整個表示式匹配內容,剩下每組對應乙個括號,順延下去。
2.2顯示命名:
public static voidmain(string args) /*** 共3組
* 年:1990
* 月:10
* 日:14*/
3.3非捕獲組
public static voidmain(string args) /*** 共2組
* 第0組:1990-10-14
* 第1組:10
* 第2組:14*/
如果年這一組我們不需要,我們就可以通過非捕獲來排除它。
三、反向引用、替換
3.1在正則本身中使用捕獲到的組就是反向引用
\數字編號 或 \k
例子:找出重複字母
用\kpublic static voidmain(string args) /*** aaa
* bb
* dddd*/
用\數字編號》
public static voidmain(string args) /*** aaa
* bb
* dddd*/
3.2替換
替換用 $組號 表示
例子把所有重複字母替換成不重複的
public static voidmain(string args) /*** abcde*/
mysql 字串正則匹配 mysql正規表示式
預備閱讀 mysql中用正規表示式進行搜尋1 使用mysql正規表示式 1 基本字串匹配 select prod name from products where prod name regexp 1000 order by prod name 檢索prod name包含文字1000的所有行。除關鍵...
正則匹配表
字元描述 轉義字元,在之前,我們在字串也用過這字元,即一些字元具有特殊含義,對其進行轉義使它成為普通字元,而用在普通字元上又表示其有特殊含義 匹配輸入字串的開始位置,如果設定了匹配多行 m 那麼也匹配行的開頭 匹配輸入字串的結束位置。如果設定了匹配多行 m 那麼也匹配行的結束 匹配前面的子表示式零次...
捕獲組匹配
re.sub在替換替換字串中可以使用組號,在替換內容中以 n 形式出現的轉移序列都會被模式中與組n匹配的字元替換掉。對於模式 000 2017 11 06 組0 000 2017 11 06 組1 2017 組2 11 組3 06 example d d d ex re.compile exampl...