find .
/-name *
.txt //查詢./目錄下的任何txt檔案
*為萬用字元
.任意字元
.*任意個任意字元 可以是0個
.+至少是乙個任意字元
\. 轉義字元 匹配'.'
\d 數字
\d?0個或1個數字
\d+1
~n個數字
\d3個數字\d3
~5個數字
\d*0
~n個數字
\b 單詞邊界
\b 非單詞邊界
例如\bis\b 表示句子中的this is a pen;裡的單詞is會被識別 而不會識別this
裡的is
(abc) abc裡是乙個分組group 便於提取出來
abc只是c迴圈兩次
(abc)
分組在引用時分別為$1 $2 $3
忽略某分組 直接在分組內加上?:(
?:by)
.(ok)
=>by被忽略
量詞 數量 表示4個數字
元字元[
] 類是符合某些特性的物件 乙個泛指
[abc]把字元a或b或c歸為一類
例如'a1b2c3d4'
.replace
(/[abc]/g
,'x'
)=> x1x2x3d4
[\-]匹配\或-
元字元^ 為反向類 即不屬於某類內容 [
^abc] 表示不是字元a、b、c的內容
範圍類:
[a-z]表示從a-z的任意字元(閉區間)
還可以連寫 [a-za-z]
例子'2016-09-12'
.replace
(/[0-9-]/g
,'a'
)=>
'aaaaaaaaaa'
'2016-09-12'
.replace
(/[0-9]/g
,'a'
)=>
'aaaa-aa-aa'
^ 表示之後是開頭
$表示之前的是結尾
/reg/g g為全域性匹配,
i忽略大小寫,m多行搜尋
(即只要有換行符就算下一行
//gi 全域性匹配並且忽略大小寫
例1 匹配http:
//頭的jpg檔案位址
注意!斜槓和點需要轉移!
當我們要求把末尾是.jpg的http:
//的頭去掉,即/http:
例2 日期替換^(
/d)[/
-](\d)[/
-](\d)$ 可以使格式類似於2006/02
/03和2006-02
-03這種被提取出來,
其中每乙個組分別為$1 $2 $3
replace with $2
-$3-$1 可得 02-03
-2006
js裡的正規表示式:
方法1、
str.
replace
(reg,
'a')
reg正規表示式 'a'替換成a
方法2、
var reg =
newregexp
('\\bis\\b'
) 注意這個\要轉移
var reg =
newregexp
('\\bis\\b'
,'g'
) 全域性匹配
正規表示式裡分為原義文字字元、元字元(即有特殊含義的字元)
正規表示式視覺化
力扣import re;
lines=open(『file.txt』).readlines();
lines=[i.strip()for i in lines]#.strip() 移除首尾空格
ans=[i for i in lines if re.match(』^(((\d))|(\d-))(\d)-(\d)$』,i)]];
print(』\n』.join(ans))
深入學習正規表示式
分組 正規表示式裡括號的表示式為另外一組匹配規則 捕獲括號 被匹配的子字串可以在結果陣列的元素 1 n 中找到,或在被定義的 regexp 物件的屬性 1 9 中找到。舉例 let reg d d reg.exec 123456abcd 123456abcd abcd index 0,input 1...
深入學習正規表示式的使用
目標 深入學習正規表示式的寫法。字元類 abc a b 或 c 簡單類 abc 任何字元,除了 a b 或 c 否定 a za z a 到 z 或 a 到 z,兩頭的字母包括在內 範圍 a d m p a 到 d 或 m 到 p a dm p 並集 a z def23 d e 或 f 交集 a z ...
正規表示式學習
概念 正規表示式,就是用某種模式去匹配一類字串的乙個公式。基礎 下表列出了所有的元字元和對它們的乙個簡短的描述。簡單例子 vi 命令作用 s g 把乙個或者多個空格替換為乙個空格 s 去掉行尾的所有空格 s 在每一行頭上加入乙個空格 s 0 9 0 9 去掉行首的所有數字字元 s b aeio g ...