簡體   English   中英

這個`/^.*$/`正則表達式匹配什么?

[英]What does this `/^.*$/` regex match?

當我到達一個headscratcher時,我正在維護一些舊代碼。 我對此正則表達式模式感到困惑: /^.*$/ (作為textFieldValidation(this,'true',/^.*$/,'',''的參數提供textFieldValidation(this,'true',/^.*$/,'','' )。

我把這個正則表達式解釋為:

  • / ^ =打開模式
  • 。=匹配任何值的單個字符(EOL除外)
  • * =匹配0次或更多次
  • $ =匹配行尾
  • / =關閉模式

所以...我認為這種模式匹配所有東西,這意味着該功能除了浪費處理周期之外什么都不做。 我對么?

^ “從頭開始。”
. “匹配任何東西......”
* “0次或更多次”
$ “到最后一行。”

是的,你是對的,那匹配空或什么的。

還有一個方便的小作弊表。

它匹配單行文本。

它將無法匹配多行String,因為^匹配輸入的開頭, $匹配輸入的結尾。 如果中間有任何新行( \\n )或插入符號返回( \\r )符號 - 則失敗。

例如, 'foo'.match(/^.*$/)返回foo

'foo\\nfoo'.match(/^.*$/)返回null

regexp檢查字符串是否包含任何\\n\\r \\n 點與新線不匹配。

例子:

/^.*$/.test("");  // => true
/^.*$/.test("aoeu");  // => true
/^.*$/.test("aoeu\n");  // => false
/^.*$/.test("\n");  // => false
/^.*$/.test("aoeu\nfoo");  // => false
/^.*$/.test("\nfoo");  // => false

是的,你是對的。 此正則表達式匹配任何不包含EOL(如果dotall = false)或任何字符串(如果dotall = true)的字符串

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM