问题标签 [negative-lookbehind]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
82 浏览

javascript - 正则表达式向后提取字符串

所以我有一条丑陋的绳子,我从电线上拿起:

{“feedtype”:“播放列表”,“base_url”:“ http://feeds.xhis.com/rteavgen/player/ ”,“feed_title”:“单项播放列表”,“feedid”:“播放列表”,“alt_url ": " http://www.xhis.com/player/#v=10322367 ", "平台": "iptv", "current_date": "2014-11-14T12:24:39.84167", "full_url": " http://feeds.xhis.com/rteavgen/player/playlist?type=iptv&showId=10343367 ", "shows": [{"itemid": 10332367, "showid": 11544367, "valid_start": "2014-11- 13T21:37:39”,“ispodcast”:0,“programmeid”:1,“BRINumber”:“ih011305791”,“持续时间”:2053247,“id”:10323367,“媒体:组”:[{“rte:服务器”:“ http://vod.hds.xhis.com/hds-vod”、“中”:“视频”、“网址”:“/2014/1113/20141113-dumbydoozle_cl10344367_10344406_260_/manifest.f4m”、“类型”:“视频/mp4”、“我

它有点 JSONy - 我得到的字符串并不总是保证是完整的,所以我无法解析它。此外,协议可能会改变。

无论如何,我正在尝试这样做:

  • 找到“manifest.f4m”
  • 提取字符串:“/2014/1113/20141113-dumbydoozle_cl10344367_10344406_260_/manifest.f4m”

一旦我有了 manifest.f4m 的位置,我就完成了。


所以我试图制定一个正则表达式来可靠地做到这一点,但我遇到了可怕的麻烦......

这是我到目前为止的正则表达式:

它匹配“manifest.f4m”(后面有一个“或一个空格)。

我有点坚持向后看 - 我想回顾第一个“/”并提取“url”指向的整个字符串。

虽然也许有更好的方法来做这一切?

0 投票
1 回答
85 浏览

c# - 如何匹配不包含模式的字符串

我正在尝试编写一个匹配所有不包含特定模板的字符串的正则表达式模板。

例如:

火柴:

但不匹配任何内容:

因为它包含这样的内容:([AZ][az]+\s?){3}

0 投票
1 回答
663 浏览

javascript - 仅将点匹配为标点符号的 Javascript 正则表达式,没有数字

我正在尝试编写一个正则表达式来将一个句子分成单词。我的第一个想法是分割空格或标点符号,然后我意识到我不想用“0.5”这样的小数分割数字,也不想分割像“14:55:02”这样的时间戳。所以,我试图用负前瞻和负后瞻来解决我的问题,但我无法将它们放在一起......而且javascript似乎不支持后视。

到目前为止我最好的尝试:

JSFiddle

所以基本上,我需要一个正则表达式来拆分我的查询,但如果被数字包裹,[\s\.,:;?!+=\/\\]+则不要拆分。[\.,:/]请帮忙!

0 投票
1 回答
71 浏览

regex - 在记事本++中查找所有没有其他字符串的字符串,介于两者之间

我知道使用简单的负面回顾

这不会second word

并按预期匹配

它也在这里匹配,但不应该

我需要如何修改我的正则表达式以满足要求?

我试过#(?<!first word).*second word#s了,但它总是匹配。

我需要这个来搜索记事本++中的许多文件

0 投票
3 回答
1483 浏览

javascript - Javascript 正则表达式 - 同时向后看和向前看

我正在尝试在 JavaScript 中创建一个匹配该字符的正则表达式,b如果它前面或后面没有字符a

显然,JavaScript 正则表达式并没有很容易实现的负面回溯,这使得任务变得困难。我想出了以下一个,但它不起作用。

是我能想到的最好的。在这里,不b应该匹配,因为它a前面有它,但它匹配。

所以一些关于我想要实现的例子

0 投票
2 回答
2109 浏览

php - 字符串中间的正则表达式否定匹配

我有这些字符串(分别检查每一行):

现在我想匹配以(不区分大小写)开头admin但不以结尾的任何内容Ex

所以应用正则表达式后,我必须匹配:

我当前的正则表达式是/^admin[a-z]+(?!ex)$/gi,但它匹配任何以admin

0 投票
1 回答
328 浏览

javascript - 给定单词列表一次并按顺序将单词包装在带有强标签的字符串中

我有一个输入,我想匹配一个字符串列表,但我想按每行的顺序匹配每个输入单词一次。

IE

为了澄清,我要问的是:

  1. 用每个输入词测试字符串中的每个词
  2. 找到一个单词后,用一个强标签将其包装起来,然后从输入测试中删除该单词
  3. 继续下一个单词,依此类推

我试图用负面的lookbehinds来做这一切,但似乎javascript无法处理这个问题,我能找到的所有解决方法要么不适用于单词集合,要么需要反转要测试的字符串并使用负面的lookaheads。我认为这些解决方案中的任何一个都不是理想的,因为我计划针对 50~500 个字符串运行此测试。

Javascript:消极的后视等价物?

0 投票
2 回答
299 浏览

regex - 在 Geany 中是否可以在正则表达式搜索中进行负面回溯?

Geany 关于否定断言的文档使它们看起来是可能的。

作为参考,这有效并给了我结果:

但是,从 Geany (v 1.24.1) 启动时,相同的正则表达式或任何具有负面后视的正则表达式都不会给我任何结果

在此处输入图像描述

哪里有问题?文档有错吗?

精度:主题不是关于如何避免在后面做负面观察,而是关于如何在后面做任何标准的PCRE负面观察。

0 投票
1 回答
134 浏览

.net - .NET 负后向正则表达式未按预期工作

我想隔离字符串中的首字母“Wrs”

这是我正在使用的正则表达式:

首字母“Wrs”必须后跟至少两个空格,然后是 html break <BR>。此外,首字母“Wrs”必须以至少两个空格开头,并且不得以 HTML<BR>标记开头。

不幸的是,在上面的例子中,首字母仍然是肯定的,即使是前面的<BR>标签。我不明白为什么,因为积极的前瞻似乎确实像我预期的那样工作。IE 当我<BR>从输入字符串中删除第二个标签或其中的一部分时,找不到匹配项。

此外,我尝试使用积极的后视而不是消极的,只是为了看看它会做什么,它也完全按照我的预期工作。在这种情况下,正面和负面的环视似乎不符合相同的规则。

知道我做错了什么吗?

0 投票
2 回答
223 浏览

javascript - JavaScript 的负向回溯

我知道很多人都发布了类似的问题,但是有了这个g标志,似乎没有一个“黑客”对我有用(这意味着它们大部分时间都不起作用)是的,我想要g旗帜我所做的正则表达式是:

当支持负后视时,这可以正常工作。但是当我用 JavaScript 做的时候。它不支持负面的看法。这是问题所在的部分:

它应该匹配什么

我试过了: