CodeQL 文档

正则表达式中无法匹配的插入符

ID: js/regex/unmatchable-caret
Kind: problem
Security severity: 
Severity: error
Precision: very-high
Tags:
   - reliability
   - correctness
   - regular-expressions
   - external/cwe/cwe-561
Query suites:
   - javascript-security-and-quality.qls

点击查看 CodeQL 仓库中的查询

正则表达式中的插入符字符^仅匹配输入的开头,或(对于多行正则表达式)匹配行的开头。如果它前面是一个必须匹配非空序列(非换行符)输入字符的模式,则它不可能匹配,这使得整个正则表达式无法匹配。

建议

检查正则表达式以查找并更正任何拼写错误。

示例

在以下示例中,正则表达式/\[^.]*\.css/无法匹配任何字符串,因为它包含一个插入符断言,它前面是一个匹配开括号的转义序列。

if (file.match(/\[^.]*\.css/))
	console.log("Found it.");

参考资料

  • ©2025GitHub, Inc.
  • 条款
  • 隐私