摘要:在本教程中,您将学习如何在正则表达式中使用 JavaScript 正则表达式回顾来匹配 X 如果它在 Y 之前。
JavaScript 正则表达式回顾简介
在 正则表达式 中,回顾匹配一个元素,如果它之前有另一个特定的元素。回顾具有以下语法
(?<=Y)X在此语法中,模式匹配 X 如果它之前有 Y。
例如,假设您想匹配数字 900 而不是数字 1 在以下字符串中
'1 computer costs $900'Code language: JavaScript (javascript)为此,您可以在正则表达式中使用回顾,如下所示
/(?<=\$)\d+/在此正则表达式中
(?<=\$)匹配一个元素,如果它之前有文字字符串$。由于$是正则表达式中的特殊字符,因此我们需要使用反斜杠\来转义它。通过这样做,正则表达式引擎将\$视为文字字符$。\d+匹配一个或多个数字。
以下示例说明了如何在正则表达式中使用回顾来匹配带有 $ 符号之前的数字
const s = '1 computer costs $900';
const pattern = /(?<=\$)\d+/;
const match = s.match(pattern);
console.log(match);Code language: JavaScript (javascript)输出
[ '900', index: 18, input: '1 computer costs $900', groups: undefined ]Code language: JSON / JSON with Comments (json)负回顾
要否定回顾,您使用带有以下语法的负回顾
(?<!Y)X在此语法中,正则表达式引擎匹配 X 如果它没有 Y 在它之前。以下示例使用带有负回顾的正则表达式来匹配没有 $ 字母之前的数字
const s = '1 computer costs $900';
const pattern = /(?<!\$)\d+/;
const match = s.match(pattern);
console.log(match);Code language: JavaScript (javascript)输出
1摘要
- 回顾
(?<!Y)X仅当它之前是Y时才匹配X。 - 负回顾
(?<!Y)X仅当它之前不是Y时才匹配X。
本教程对您有帮助吗?