1. 程式人生 > >正則表示式學習記錄(持續更新)

正則表示式學習記錄(持續更新)

特殊字元含義:

字元 含義 字元 含義
* 匹配前面的子表示式零次或多次 + 匹配一次或多次
$ 匹配輸入字串的結尾位置,設定RegExg物件的Multiline屬性,則可匹配‘\n’或‘\r’ ^ 匹配字串的開始位置,若在中括號中表示非(不匹配)
? 匹配前面的自表示式零次或一次 | 指明兩項之間的一個選擇
. 匹配除換行符\n之外的任何單字元 \ 標記該字元為特殊字元,或原義字元

當要匹配以上這些特殊字元時,使用轉義字元’\’。比如‘*’匹配字元*

限定符:指定一個給定元件必須要出現多少次才能滿足

字元 含義 字元 含義
* 匹配零次或多次。等價{0,} + 匹配一次或多次。等價{1,}
匹配零次或一次.等價{0,1} {n} 表示n次
{n,} 匹配至少n次 {n,m} 匹配至少n次最多m次

其他匹配模式

字元 含義 字元 含義
(pattern) 匹配pattern並獲取 [XYZ] 匹配其中的任意字元
(?:pattern) 匹配pattern不獲取,供後續使用。 \b \B \b匹配一個單詞的邊界,\B匹配給單詞邊界
(?=pattern) 正向預查,在匹配到pattern處開始查詢字串 \d \D \d匹配數字字元,\D匹配非字元數字
(?!pattern) 反向預查,在任何不匹配pattern處開始查詢字串 \w \W \w匹配包括下劃線的任何單詞字元,\W匹配任何非單詞字元

正則示例

表示式 含義 表示式 含義
^[a-zA-Z0-9_]{1,}$ 包含一個及以上的字母、數字或下劃線的字串 ^[1-9][0-9]{0,}$ 所有的正整數
^-{0,1}[0-9]{1,}$ 所有整數 ^[-]?[0-9]+.?[0-9]+$
所有浮點數

javascript中正則表示式

修飾符 含義
i 忽略字串的大小寫
g 執行全域性匹配,查出所有匹配而非找到第一個後停止
m 執行多想匹配
[] 表示查詢某個範圍內的字元
() 查詢指定的選型,可用
?=n 匹配任何其後緊接指定字串n的字串,
?!n 匹配任何其後沒有緊接指定字串n的的字串

RegExp物件方法

方法 作用
compile() 編譯正則表示式
exec() 檢索指定的值,返回找到的值,確定起位置
test() 檢索字串中指定的值,返回true或false,不需要知查詢的結果是什麼

支援正則表示式的String物件方法

方法 作用
search() 檢索與正則表示式想匹配的值
match() 找到一個或多個表示式的匹配
replace() 替換與正則表示式匹配的子串
split() 把字串分割成字串陣列

相關推薦

表示式學習記錄持續更新

特殊字元含義: 字元 含義 字元 含義 * 匹配前面的子表示式零次或多次 + 匹配一次或多次 $ 匹配輸入字串的結尾位置,設定RegExg物件的

表示式學習筆記

開始和結束  ^   $ '^' 表示開始  例如:'^the'  表示以 the 開頭的詞 '$' 表示結束  例如:'the$' 表示以 the 結尾的詞 'the' 表示 包含 the 的詞

Java表示式學習記錄

前言 一節正則表示式的學習記錄,大部分內容來自網上和稍微看了點api文件 基本說明 Pattern 類 pattern 物件是一個正則表示式的編譯表示。Pattern 類沒有公共構造方法。要建立一個 Pattern 物件,你必須首先呼叫其公共靜態編譯方法,

oracle資料庫學習記錄持續更新中...

--------------------------------------------day10---------------------------------------------------1.認識PL/SQL的函式--2.建立包和包體--3.PL/SQL變數的型別--1.認識PL/SQL的函式--

表示式學習程序re.match()

#正則表示式學習筆記 import re """ .匹配任意字元 除換行符 {n}精確匹配前面n個表示式 \s 匹配任意的空白字元 \w 匹配字母數字及下劃線 .* 匹配任意除換行符之外的字元 {n} 精確匹配n個前面表示式。 + 匹配1個或多個的表示式。 ( )

JavaScript 表示式 學習筆記

名詞解釋 正則表示式:Regular Expression,在程式碼中常簡寫為Re

tensorflow 學習紀錄持續更新

使用 一個 ant lidar value nod traceback err erro 1 import tensorflow as tf 2 import numpy as np 3 4 #tensor = tf.constant([[1,2,3,4,5,6

C++ 編程技巧筆記記錄持續更新

算法 模板函數 () 不必要 過大 默認構造函數 函數 容易 [] 前言: 希望通過閱讀《Effective C++》系列《Expectional C++》系列等書 挑選出一些個人覺得重要的條款/經驗/技巧進行記錄總結。 類/對象: 1.基類析構函數應總是public

深入理解計算及系統 Chapter2 學習筆記持續更新

信息 得到 編碼方式 apt 轉換 數據 print 機器 void Chapter2 信息的表示和處理 1.將一個十進制的數字x轉換為n進制,可以用n反復除x,得到商q和一個余數r,然後用這個r作為最低位數字,反復這個過程直到商為0,則可以得到n進制的表示,其原理為: x

關於動態樹和LCT的一些學習感受持續更新

實現 劃分 沒有 學習 clas 找到 acf 樹操作 全部 什麽是動態樹? 動態樹(Dynamic Tree)問題是指在樹上動態維護相關信息的問題。 一般的動態樹問題中,會要求我們維護一個由若幹棵子結點無序的有根樹組成的森林。並且要求這個數據結構支持對樹的分割(刪邊),合

docker-6-坑記錄持續更新

windows 下 dokcer build 後出現 windows 下 dokcer build 後出現許可權設定問題 這個許可權是指哪個目錄,然後怎麼設定? SECURITY WARNING: You are building a Docker image from Windows ag

mysql常用函式以及坑點記錄持續更新

函式 字串轉int:         CONVERT(ID,SIGNED) 字串拼接:         #拼接字串(某一欄位為NULl,返回NUll)     &

mdk錯誤記錄持續更新

1、 warning: #61-D: integer operation result is out of range 由於編譯器預設signed int即32位有符號整數型別,而1<<31實際為0x80000000, 這樣就有可能改寫了符號位(最高位) 依此類推,(2<&

python 歷險記(六— python 對表示式的使用上篇

目錄 引言 什麼是正則表示式? 正則表示式有什麼用? 正則表示式的語法及使用例項 正則表示式語法有哪些? 這些正則到底該怎麼用? 小結 參考文件 系列文章列表 引言 剛接觸正則表示式,我也曾被它們天書似的符號組合給嚇住,但經過一段時間的深入

Hbase&Phoenix學習筆記持續更新

1. 檢視某張Hbase表在HDFS中的儲存情況 ``` hadoop fs -ls /apps/hbase/data/data/h3c/log_suspect_track_history_spark/hadoop fs - ls /apps/hbase/data/data/h3c/

【C#】C#學習筆記持續更新

本章比較雜亂,是本人在學習C#中的一些筆記,並不全面,只是一些隨筆。 1.一個 C# 程式主要包括以下部分: 名稱空間宣告(Namespace declaration) 一個 class Class 方法 Class 屬性 一個 Main 方法 語句(Stat

PHP看書學習筆記持續更新

$GLOBALS:包含指向當前程式中全域性範圍內有效的變數,它是一個數組,該陣列的索引(或鍵名)就是全域性變數的名稱。 $_SERVER:該全域性變數是一個包含諸如頭資訊,路徑和指令碼位置的陣列。常見的$_SERVER的元素包括PHP_SELF(當前正在執行的指令碼的檔

Matlab學習筆記持續更新

矩陣 在matlab中矩陣是以陣列的形式存在的,一維陣列相當於 向量,二維陣列相當於矩陣,所以矩陣是陣列的子集 函式名稱 函式功能 ones(n)構建nXn的1矩陣, 矩陣的元素全部是1 ones(m,n)構建mXn的1矩陣 ones (size (A) )構

java知識點記錄持續更新

1.如果另一個類中的那個方法是私有的話,就不能直接呼叫到,如果是其他型別的話看情況,如果是靜態的(static)話,直接用類名可以呼叫到,如果是非靜態的,就需要利用另一個類的例項(也就是用那個類生成的物件 new一個來呼叫)來呼叫。 舉例 class A{ public st

Hbase&Phoenix學習筆記持續更新

檢視某張Hbase表在HDFS中的儲存情況 hadoop fs -ls /apps/hbase/data/data/h3c/log_suspect_track_history_spark/hadoop fs - ls /apps/hbase/data/dat