s 修飾符 dotAll 模式

2021-08-14 19:43:17 字數 1228 閱讀 8130

正規表示式中,點(.)是乙個特殊字元,代表任意的單個字元,但是行終止符(line terminator character)除外。

以下四個字元屬於」行終止符「。

/foo.bar/

.test

('foo\nbar'

)

// false

上面**中,因為.不匹配\n,所以正規表示式返回false

但是,很多時候我們希望匹配的是任意單個字元,這時有一種變通的寫法。

/foo[^]bar/

.test

('foo\nbar'

)

// true

這種解決方案畢竟不太符合直覺,所以現在有乙個提案,引入/s修飾符,使得.可以匹配任意單個字元。

/foo.bar/s.

test

('foo\nbar'

)// true

這被稱為dotall模式,即點(dot)代表一切字元。所以,正規表示式還引入了乙個dotall屬性,返回乙個布林值,表示該正規表示式是否處在dotall模式。

const

re =

/foo.bar/

s;

// 另一種寫法

// const re = new regexp('foo.bar', 's');

re

.test

('foo\nbar'

)// true

re

.dotall

// true

re

.flags

// 's'

/s修飾符和多行修飾符/m不衝突,兩者一起使用的情況下,.匹配所有字元,而^$匹配每一行的行首和行尾。

修飾符 許可權修飾符

四種形式許可權修飾符的訪問情況 publicprotected不寫private 同乙個類中 四種都可以 同一包中的不同類 除了private剩下都可以 不同包下的子類 public protected 可以 不同包下的不同類 只有public可以 許可權修飾符 public protected 預...

C 修飾符 類修飾符和成員修飾符

c 修飾符之類修飾符 public internal partial abstract sealed static internal 本程式集內的成員可以訪問。partial 部分類,可以將乙個類分成幾部分寫在不同檔案中,最終編譯時將合併成乙個檔案,且各個部分不能分散在不同程式集中。c 修飾符之成員...

java修飾符 abstract 修飾符

abstract 修飾符 abstract 修飾符可以用來修飾類和成員方法 用 abstract 修飾的類表示抽象類,抽象類位於繼承樹的抽象層,抽象類不能被例項化,即不允許建立抽象類本身的例項。沒有用 abstract 修飾的類稱為具體類,具體類可以被例項化。用 abstract 修飾的方法表示抽象...