正則的理解

2022-08-26 01:27:09 字數 2925 閱讀 8277

1.正則的懶惰性?

每次在它的方法exec中捕獲的時候,只捕獲第一次匹配的內容,而不往下捕獲,我們把這種情況稱為正則的懶惰性

且每一次捕獲的位置都是從索引0開始

正則的例項物件上有乙個lastindex的屬性,是正則開始捕獲的起始位置

var reg=/\d+/;

var st="abc123efg456";

console.log(reg.exec(st))輸出123

如何解決正則的懶惰性呢

用乙個修飾詞「g」就可以了

2.正則的貪婪性?

每次匹配到的結果都是最長的,把這種情況稱為貪婪性。

var reg=/\d+/;

var st="abc12345"

console.log(reg.exec(st))  結果是12345

如何讓解決他的貪婪性呢

在元字元量詞後加?

var reg=/\d+?/g

3.分組捕獲  /(   )/;

分組捕獲的作用(1)改變優先順序(2)分組引用

\1   \2分別為跟第一組和第二組出現同樣的內容

var reg=/(\w)\1(\w)\2/;

var st="sstt"

console.log(reg.test(st))==true

分組捕獲的前提是正則存在分組,而且是不僅會捕獲到大正則,也會捕獲到小正則的內容

var reg=/(a)(b)/

var st="abcd"

console.log(reg.exec(st))  結果輸出是  ab  a  b

那麼該如何解決這種情況呢

在不想讓它出現的那個前面加?:

var reg=/(a)(?:b)/

var st="abcd"

console.log(reg.exec(st))    結果輸出的是   ab  a

每次在它的方法exec中捕獲的時候,只捕獲第一次匹配的內容,而不往下捕獲,我們把這種情況稱為正則的懶惰性

且每一次捕獲的位置都是從索引0開始

正則的例項物件上有乙個lastindex的屬性,是正則開始捕獲的起始位置

var reg=/\d+/;

var st="abc123efg456";

console.log(reg.exec(st))輸出123

如何解決正則的懶惰性呢

用乙個修飾詞「g」就可以了

2.正則的貪婪性?

每次匹配到的結果都是最長的,把這種情況稱為貪婪性。

var reg=/\d+/;

var st="abc12345"

console.log(reg.exec(st))  結果是12345

如何讓解決他的貪婪性呢

在元字元量詞後加?

var reg=/\d+?/g

3.分組捕獲  /(   )/;

分組捕獲的作用(1)改變優先順序(2)分組引用

\1   \2分別為跟第一組和第二組出現同樣的內容

var reg=/(\w)\1(\w)\2/;

var st="sstt"

console.log(reg.test(st))==true

分組捕獲的前提是正則存在分組,而且是不僅會捕獲到大正則,也會捕獲到小正則的內容

var reg=/(a)(b)/

var st="abcd"

console.log(reg.exec(st))  結果輸出是  ab  a  b

那麼該如何解決這種情況呢

在不想讓它出現的那個前面加?:

var reg=/(a)(?:b)/

var st="abcd"

console.log(reg.exec(st))    結果輸出的是   ab  a

dropout的正則化理解

dropout是hintion最近2年提出的,源於其文章improving neural newworks by preventing co adaptation of feature detectors.中文的意思 通過阻止特徵檢測器的共同作用來提高神經網路的效能 dropout效果同於baggi...

關於正則化的理解

在機器學習中,如果引數過多或者過大,會導致過擬合的情況出現,通常可以在原損失函式上增加乙個正則項,或者叫懲罰項,來解決過擬合的問題。常用的正則化有兩種,l1正則化和l2正則化,分別對應 式1 和 式2 l1正則項是所有引數的絕對值之和,l2正則項是所有引數的平方和。這裡先下結論,l1正則化可以減小引...

JS正則(2)對正則的理解

對正則的理解 一 1.正則的懶惰性 概念 每一次在exec 中捕獲的時候,只捕獲第一次匹配的內容,而不往下捕獲了,我們把這叫正則的懶惰性,每一次捕獲的開始位置都是從0開始。解決正則的懶惰性 用修飾符g 正則的例項物件reg上有乙個lastindex屬性 它是正則捕獲的起始位置 2.正則的貪婪性 每一...