问题标签 [lookahead]
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.
c# - 使用 Negative lookbehind 和 Negative lookahead assertion 的正则表达式
可能重复:
正则表达式匹配双引号外的左单引号
第一个注意事项:
我需要匹配不在左右双引号内的所有“左单引号”。
澄清:
This is a
“sample &lsquo string &rsquo &rdquo
-> this 不应该匹配,因为&lsquo
(单引号)在双引号内这是
&lsquo sample &rsquo
-> &lsquo 应该匹配,因为它不在双引号内
这是我当前的正则表达式:
问题在于,它同时查看&ldquo
and &rdquo
,如果出现 ldquo 和 rdquo 中的任何一个,它将不匹配
例如:
这是一个
&lsquo sample &rdquo
-> 我需要在这里匹配 &lsquo 但由于 &rdquo 的出现,正则表达式不匹配这是
&ldquo a string &lsquo sample
->与第一个示例相同的问题
希望有人能帮助我!谢谢!
internet-explorer - 如何禁用 Internet Explorer 超前下载器?
我们有一个带有登录页面的项目。登录时,会话被设置,客户端被重定向到 webapp。
一切正常,除了在我们生产时,一些 Internet Explorer 8 客户端正在使用前瞻下载器。由于尚未设置单点登录会话,因此预加载器正在尝试获取一些 javascript 文件,但会显示一个带有 javascript 扩展名的登录页面。导致 Internet Explorer 浏览器提示用户安全警告和下载 javascript 文件的问题。
我们试图在 http-equiv 元数据中设置一个字符集,因为据说这会停止前瞻下载器。但是没有用,我们仍然在某些客户端上获得了下载框。
似乎 IE 甚至被设置为遵循 javascript 重定向,而且看起来不可能阻止这种情况的发生。
有没有人认识到这一点并知道解决方案,因为这让我发疯。
regex - 凯特的前瞻模式
我正在为一本法律书籍编制一个案例表。我已将其转换为 HTML,因此我可以使用标签进行搜索和替换操作,我目前在 Kate 工作。正文引用案例名称,案例引用在脚注中,例如
<i>Smith v Jones</i>127 ......... [other stuff including newline characters].......</br>127 (1937) 173 ER 406;
我已经能够在 Kate 中进行前瞻性工作,使用:
<i>.*</i>([0-9]{1,4}) .+<br/>\1 .*<br/>
...但我遇到了贪婪的问题。
文本很乱,所以我真的需要一步一步地找到匹配项,而不是依赖批处理。
是否有支持前瞻和非贪婪运算符的 Linux(或 Windows)文本编辑器,或者我将不得不尝试 grep 或 sed?
php - JavaScript 和 PHP 在前瞻断言的惰性方面的差异
我发现 JavaScript 和 PHP 处理以下正则表达式的方式之间存在差异,我感到很困惑。
在 JavaScript 中,
结果分别为
如这个jsFiddle所示。
然而,在 PHP 中,
结果是,
我不太担心这个警告。但似乎在 JavaScript 中,前瞻断言在某种程度上比在 PHP 中“更懒惰”。为什么有区别?这是其中一个引擎中的错误吗?理论上哪个更“正确”?
regex - JavaScript 正则表达式中的前瞻
使用 JavaScript,我试图替换 html 标记内的属性,并提出了这个正则表达式:
这行得通。但是,我希望能够指定查找包含属性值的相同类型的引号。因此,例如,我想指定这是否是表单<tag attr='data'>
,在第二个引号中查找单引号,而不是双引号。反之亦然<tag attr="data">
;将 SECOND 标记与双引号匹配,而不是单引号。这是为了帮助我保护函数调用免受格式奇特的 HTML 的影响。
那么,我该如何实现呢?
谢谢!
regex - 正则表达式=>两个匹配之间的前瞻c#
这句话是真的:
和
这句话是真的:
这对于 rte 是正确的:
这对 barl 来说是正确的:
为什么这是错误的?
java - 如何使用 Look-Ahead 和 Look-Behind 创建自定义边界匹配器?
我想使用Scanner在单词边界处拆分字符串。通常,这将是这样完成的:
问题是我对“单词”字符的定义与标准略有不同,[a-zA-Z_0-9]
因为我想包含更多字符并排除_
: [a-zA-Z0-9#/]
。因此,我不能使用该\b
模式。
所以我尝试使用前瞻和后视来做同样的事情,但我想出的并没有奏效:
扫描仪不会使用它在任何地方分割。
是否可以使用前瞻和后视以及如何做到这一点?
javascript - javascript 正则表达式拆分,包括分隔符
我想'9088{2}12{1}729'
分成[ "9088", "{2}12", "{1}729" ]
甚至对我更有用:[ "9088", "2-12", "1-729" ]
试过:
也试过:
我知道它可能涉及一些其他的正则表达式字符串来拆分,包括分隔符。
在php中尝试过,我想你也可以在一行中完成。
只需将替换功能与 split 包装起来即可正确使用偏好顺序。
我想我更喜欢 js :)
antlr - ANTLR:回溯和前瞻之间的区别?
我对 ANTLR 比较陌生。我有一个非常简单的语法:
我认为我已经了解了前瞻和回溯概念的基础知识(适用于句法谓词)。所以这个语法适用于 k=4 或 backtrack=true。但是确切的区别是什么,主要问题是我什么时候使用什么?我试图在互联网上找到答案,但没有成功。
java - 正则表达式仅在字符串后面没有特定字符时才匹配字符串
我需要一个正则表达式,它仅在字符串后面没有正斜杠(/)字符并且我想匹配整个字符串时才匹配字符串。
例如下面的字符串应该匹配
但不是这个
我尝试使用Negative Lookahead来实现此答案所指定的目标。
我的代码是这样的。
它正在失败。但是,如果我使用matcher.find()
它,它就会成功。
请帮助我理解为什么它不匹配以及实现此目的的正则表达式?