当我到达headscratcher时,我正在维护一些旧代码。我对此正则表达式模式感到困惑:/^.*$/
(作为textFieldValidation(this,'true',/^.*$/,'',''
中的参数提供)。
我将此正则表达式解释为:
所以...我认为这种模式与所有东西相匹配,这意味着该功能除了浪费处理周期外什么都不做。我对么?
答案 0 :(得分:5)
答案 1 :(得分:5)
匹配单行文字。
它将无法匹配多行字符串,因为^
匹配输入的开头,$
匹配输入的结尾。如果中间有任何新行(\n
)或插入符号返回(\r
)符号,则会失败。
例如,'foo'.match(/^.*$/)
会返回foo
。
但'foo\nfoo'.match(/^.*$/)
会返回null
。
答案 2 :(得分:5)
正则表达式检查字符串是否包含任何\n
或\r
。点与新线不匹配。
示例:
/^.*$/.test(""); // => true
/^.*$/.test("aoeu"); // => true
/^.*$/.test("aoeu\n"); // => false
/^.*$/.test("\n"); // => false
/^.*$/.test("aoeu\nfoo"); // => false
/^.*$/.test("\nfoo"); // => false
答案 3 :(得分:1)
是的,你说的很对。此正则表达式匹配任何不包含EOL的字符串(如果dotall = false)或任何字符串(如果dotall = true)