# 求改错: 一行javascript正则

**URL:** <https://meta.appinn.net/t/topic/16280>\
**Category:** 问题求助\
**Created:** [2020 年5 月 14 日 06:07 UTC](https://meta.appinn.net/t/topic/16280 "2020-05-14T06:07:19Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

作者： ![qpp](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/q/8e7dd6/32.png) [@qpp](https://meta.appinn.net/u/qpp)\
发布日期： [2020 年5 月 14 日 06:07 UTC](https://meta.appinn.net/t/topic/16280/1 "2020-05-14T06:07:19Z")

</div>

```
*******/watch?v=***** &list= ***&index=******* &t=**

```

我想取得v= 之后的那部分, 但不要后面的&以及之后的部分.

现实是: &以及之后的部分, 可能存在也可能不存在, 其内部的几个&部分之间的顺序可能是随机的. 也可能出现在v之前

我写的正则取得了想要的部分, 但&开头的部分没能去掉

```
 text.replace(/.+\/watch.*?v=(.+)(&.+)*/,"$1");

```

---

<div class="post-metadata">

作者： ![dms](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/dms/32/3545_2.png) [@dms](https://meta.appinn.net/u/dms)\
发布日期： [2020 年5 月 14 日 06:15 UTC](https://meta.appinn.net/t/topic/16280/2 "2020-05-14T06:15:58Z")

</div>

```regex
[?&]v=([^&]+)

```

```js
 text.replace(/^.*[?&]v=([^&]+).*$/,"$1");

```

---

<div class="post-metadata">

作者： ![qpp](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/q/8e7dd6/32.png) [@qpp](https://meta.appinn.net/u/qpp)\
发布日期： [2020 年5 月 14 日 06:20 UTC](https://meta.appinn.net/t/topic/16280/3 "2020-05-14T06:20:20Z")

</div>

高! 我慢慢理解…哈哈, 懂了
