gpt4 book ai didi

javascript - JavaScript 中的基本正则表达式

转载 作者:行者123 更新时间:2023-12-02 12:41:08 24 4
gpt4 key购买 nike

有一段时间我一直在尝试理解 JavaScript 中的正则表达式,但它非常复杂。您可以告诉我如何使用正则表达式分别兑换下面 URL 中的每个值?

网址

/first/middle/last

返回

var first = "first"
var middle = "middle"
var last = "last"

谢谢!

最佳答案

使用字符串的 split 方法当然更容易做到这一点,但出于学习目的,这里有一种使用正则表达式来做到这一点的方法:

var url = '/first/middle/last';
var regex = /^\/(.+)\/(.+)\/(.+)$/;
regex.exec(url); // ["/first/middle/last", "first", "middle", "last"]

为了帮助您理解这个正则表达式(并且希望理解一般的正则表达式),让我们更详细地了解它。

第一个和最后一个斜杠 (/) 标记 RegExp 对象的开头和结尾(不包括修饰符,您现在可能可以不用修饰符),就像 "' 标记字符串的开头和结尾。

开头的 ^ 字符表示“字符串的开头”,因此这意味着此正则表达式的匹配必须位于字符串的开头。

末尾的$字符表示“字符串结束”,因此匹配必须结束到字符串的末尾。这与开头的 ^ 字符结合意味着匹配必须覆盖整个字符串。

正则表达式的其余部分是 \/(.+) 部分的三倍。前两个字符 (\/) 仅匹配斜杠。我们不能直接将斜杠与 / 匹配,因为这会结束正则表达式,因此我们使用反斜杠对其进行转义。 .+ 部分与除换行符 (.) 之外的任何字符匹配一次或多次 (+)。该部分周围的括号称为捕获括号,并使它们捕获的字符串被记住,换句话说,它们使 "first""middle""last" 出现在结果数组中。

因此整个正则表达式匹配“字符串开头、斜杠、一个或多个字符(记住这些)、斜杠、一个或多个字符(记住这些)、斜杠、一个或多个字符(记住这些)、字符串结尾” .

您可以在正则表达式中找到有关特殊字符(点、加号、括号、反斜杠等)的更多信息,例如 MDN's RegExp documentation .

关于javascript - JavaScript 中的基本正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8347333/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com