问题标签 [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.
regex - 正则表达式不匹配行的开头/结尾
我想要一个正则表达式只匹配 "
- 不要出现在行首或行首的空格之后
- 不要出现在行尾或行尾的空白之前
我想我需要使用lookbehind和lookahead。
所以匹配 " in
但不在
regex - Mod重写正则表达式以仅在前一个子集匹配时才匹配
我正在尝试制作我认为与 mod_rewrite 一起使用的简单正则表达式。
我尝试了各种表达方式,其中许多我认为很有希望,但最终都因某种原因而失败。一旦我添加了开始/结束字符串分隔符,它们似乎也都失败了。
例如,^user/(\d{1,10})(?=/)$
是我尝试过的一个,但除此之外,它似乎对尾部斜杠进行了分组,而我只想对数字进行分组。我认为我需要使用积极的向后看,但我遇到了困难,因为它正在向后看一组。
我要匹配的是1)以“用户/”开头和2)可能以(\d{1,10})/
(1到10位数字后跟一个斜杠)结尾的字符串
应该匹配:
不应该匹配:
编辑:对格式感到抱歉;我不明白如何通过这个降价来格式化任何东西。这些示例前面有 4 个空格,我认为这些空格应该构成一个代码块,但显然我想错了。
.net - Regex Look-Behind for Right to Left 事件
我正在提取以 Windows LogonIDs 结尾的事件......这意味着:
Special Privileges assigned to a new Logon: Logon Id: 0x007d
我认为这是最好的方法:
使用RegexOptions.RightToLeft从字符串的末尾开始搜索。
使用lookbehind所以如果{ID: LogonId} 不存在,它将尽快失败。
由于我找不到任何好的从右到左测试仪,所以我在这里寻求您的帮助。
.net - 正则表达式以匹配带引号的字符串与负后向 (.NET)
我正在尝试创建一个 .NET 正则表达式,它将匹配 VB.NET 源代码中的引用字符串,但不包括某些不需要的字符串,例如 XML 注释和区域标签中的字符串等。
这是一个数据示例,代表 Regex 可能对其执行的一些 VB.NET 源代码:
正则表达式应匹配Debug.WriteLine
方法调用中的引用字符串,但应忽略区域标签和 XML 注释中的字符串。它还应该支持 VB.NET 的引号转义语法,该语法使用两个连续的双引号来表示嵌入(转义)的引号字符:
作为一个起点,我已经尝试了以下正则表达式,但负面的后视导致它匹配后续的结束引号,就好像它们是开始引号一样。
作为一项额外的技巧,如果 Regex 可以完全忽略由一对引号字符表示的空字符串,那将会很有帮助。
请问有什么建议吗?
在此先感谢,蒂姆
html - PCRE:(+)和(-)向前/向后看(正则表达式)
我有以下字符串:
我想提取:
- CAR123
- 红色的
- 这辆车是红色的——它的速度很快
到目前为止,我所拥有的是:
但是当它们不在字符串边界上时,我不确定如何设置正负前瞻和后视。
我知道,它是 HTML……我以前听说过……“不要用正则表达式解析 html……”我不需要比这更详细的东西了。
帮助表示赞赏。
谢谢!
javascript - Javascript 不匹配用引号括起来的 str
我正在用javascript编写一个替换空格的正则表达式,除非:
- 一些特定的语法在空格前面
- 它被单引号和双引号包围(引号内的转义引号除外)
现在,我有很大一部分工作。它匹配在空格前面没有特定语法的所有模式,但是,我坚持使用引号部分。
我已经做了很多测试,但我就是想不通。提前致谢。
regex - 正则表达式删除整数周围的引号?
假设我有一个字符串 "\"Bob\",\"1\",\"Mary\",\"2\""。是否可以只删除数字周围的引号而不是字母?我已经尝试过前瞻/后视,但是后视的非可变长度让我感到困惑,我不知道如何解决这个问题。谢谢。
regex - 正则表达式:负后视和否定之间的区别
来自正则表达式.info:
\b\w+(?<!s)\b
. 这绝对不一样\b\w+[^s]\b
。当应用于 时Jon's
,前者将匹配Jon
后者Jon'
(包括撇号)。我会留给你找出原因。(提示:\b 匹配撇号和 s)。后者也不会匹配像“a”或“I”这样的单字母词。
你能解释一下为什么吗?
另外,您能否说明一下究竟是做什么\b
的,以及为什么它在撇号和 ? 之间匹配s
?
ruby - 除非用 \ 转义,否则匹配的 Ruby 正则表达式
要识别以下内容:
我愿意:
现在我想扩展它,使得 if[...][...]
或[...]
之后\
它不会被识别:
我如何扩展正则表达式来实现这一点?
它应该适用于 Ruby 1.9.2 和 Ruby 1.8.7。
java - Java 正则表达式错误 - 后视组没有明显的最大长度
我收到此错误:
我正在尝试匹配COFFEE
,但不是BOBBEE
。
我正在使用java 1.6。