正則使用從0開始學習(二)

2021-08-10 18:33:08 字數 2581 閱讀 9886

一些有用的正則的嘗試和收集:

以下是以js規則的表示式

1、匹配中文

var s = '我愛中國';

var reg = /[\u4e00-\u9fa5]/;

var result = s.match(reg);

匹配結果: ["我", index: 0, input: "我愛中國"]

// 全域性匹配

var reg = /[\u4e00-\u9fa5]/g;

var result = s.match(reg);

匹配結果: (4) ["我", "愛", "中", "國"]

// 其他

'我愛中國'.match(/[\u4e00-\u9fa5]*/);

'我愛中國'.match(/[\u4e00-\u9fa5]+/);

匹配結果: ["我愛中國", index: 0, input: "我愛中國"]

'我愛中國'.match(/[\u4e00-\u9fa5]?/);

匹配結果:["我", index: 0, input: "我愛中國"]

'我愛中國'.match(/[\u4e00-\u9fa5](.*?)/);

匹配結果: ["我", "", index: 0, input: "我愛中國"]

2、匹配郵箱

var s = '[email protected]'

var reg = /[\w!#$%&'*+/=?^_`~-]+(?:\.[\w!#$%&'*+/=?^_`~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/g

var result = s.match(reg);

匹配結果:["[email protected]"]

3、匹配url

var s = ''

s.match(/[a-za-z]+:/

/[^\s]*/);

匹配位置:0

匹配結果:

4、匹配@abc@ 或者 #abc#型別

var s = '#fdsa# #fdsabb#'

s.match(/^(@|#)[^\s]*?(@|#)/g);

匹配結果: ["#fdsa#", "#fdsabb#"]

以上並不能匹配』# fdsa#』這種型別,要匹配這種型別,需要包含\s

var s = '#fdsa# #fdsabb#'

s.match(/^(@|#)(.*?)(@|#)/g);

匹配結果: ["#fdsa#", "#fdsabb#"]

5、匹配qq

var s = '11212121'

s.match(/[1-9][0-9]/);

匹配結果: 11212121

5、匹配郵編

var s = 'afa4614612afa'

s.match(/[1-9]\d(?!\d)/);

匹配結果: 4614612

6、匹配身份證號

var s = '411528199208132243';

var reg = /^(\d)(\d)(\d)(\d)(\d)([0-9]|x)$/;

s.match(reg);

匹配結果: 411528199208132243

6、匹配年-月-日格式

var s = '2017-11-14';

var reg = /([0-9][1-9]|[0-9][1-9][0-9]|[0-9][1-9][0-9]|[1-9][0-9])-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))/;

s.match(reg);

匹配結果: 2017-11-14

7、匹配整數

var s = '121';

var reg = /^[1-9]\d*$/

s.match(reg);

匹配結果: 121

8、匹配ip位址

var s = '192.168.1.11';

var reg = /((25[0-5]|2[0-4]

\d|((1\d

)|([1-9]?\d)))\.)(25[0-5]|2[0-4]

\d|((1\d

)|([1-9]?)))/

s.match(reg);

匹配結果: 192.168.1.11

9、匹配浮點數

var s = '0.1111121';

var reg = /^-[1-9]

\d*\.

\d*|-0\.

\d*[1-9]

\d*$/

s.match(reg);

匹配結果: 0.1111121

從0開始 二

slam是指當某種移動裝置 如機械人 無人機 手機等 從乙個未知環境裡的未知地點出發,在運動過程中通過感測器 如雷射雷達 攝像頭等 觀測定位自身位置 姿態 運動軌跡,再根據自身位置進行增量式的地圖構建,從而達到同時定位和地圖構建的目的。sfm structure from motion 是一種和sl...

機器學習 從0開始

by 香蕉麥樂迪 機器學習簡介 機器學習是許多演算法的統稱,其中包含最近幾年火熱的深度學習,還包括許多適用於各種不同場景的其他機器學習演算法 邏輯斯特回歸,svm,knn,adaboost,em,kmeans等等 這些演算法從誕生到現在都有了幾十年的歷史 深度學習指的是深度神經網路,其中用於處理影象...

openGLSL從0開始學習

首先,找了些優秀的學習 openglsl 雙緩衝 double buffer 機制 01 20getting 20started 03 20hello 20window opengl 三角形 01 20getting 20started 04 20hello 20 opengl shading la...