问题标签 [xregexp]
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.
javascript - Xregexp javascript 可选命名组,由空格分隔
我正在研究一个支持以字母开头的命名参数的Xregexp表达式。这是我的表达:
它运行良好,但问题是我想将该p:<prize>
组设为可选,我应该使用哪个表达式?
当有空白时,我也试图结束捕获
例子:
我想要的是 :
duration:1h 5m 1s title:Title test [p:prize]<-optionnal group
我想将该prize
组设为可选
匹配当前表达式:
duration:1h 5m 1s title:Title test p:Something random
分组结果:
time
:1h 5m 1s
title
:Title test
prize
:Something random
javascript - 将 window.location.href 和 document.referrer 组合成一个变量
我需要在单个变量中获取当前网页 url,例如:
但问题是脚本有时会在跨域 Iframe中使用,有时会在同一个域中使用。由于window.location.href
在跨域 iframe 中不起作用,所以我已经测试
x = document.referrer
了跨域 iframe(只读)并且它工作正常。但是我需要在一个变量中同时使用这两个选项,这样我就可以通过.match()
Javascript 中的方法在 url 验证中使用它。
我试图像这样结合,但它不起作用
我的完整代码在这里:
//获取 url - 这部分不起作用
//网址验证-- 这部分工作正常
我不知道是否真的可以合并,但否则我想我必须重复这个脚本两次。1 用于跨域 Iframe,而 2 用于同一域。
我是 Javascript 的新手并且被困在这里,所以任何帮助和方向都将是救命稻草
regex - 捕获的组变量在 XRegexP javascript 中不起作用
如果我删除这样的名称,它会起作用
但我想命名我缺少的变量?
我匹配的文本是它捕获的 1000-10000,但是它不保存捕获变量
regex - Perl regexp for "Reply-To:" then characters then only "@domain1.fr" or "@domain2.fr"
我想写一个 Perl 正则表达式,如果一个字符串给出一个匹配
- 以“回复:”开头
- 以任意数量的字符继续
- 仅以“@domain1.fr”或“@domain2.fr”继续
- 以任意数量的字符结尾
例子 :
- 回复:abc def@domain1 必须匹配
- 回复:abc def@domain2 必须匹配
- 回复:abc def@domain3 不能匹配
我试过了
但
- 回复:abc def@domain1 不匹配
- 回复:abc def@domain2 不匹配
问题是从与 domain1 AND domain2 不同的匹配域中排除。因为,如果我想从仅与 domain1 不同的匹配域中排除,我输入
它工作得很好。
javascript - 'XRegExp' 未使用 ie11 定义
我正在使用 XRegExp 检查 unicode 正则表达式。它在我测试过的任何浏览器中都没有问题,除了在 IE11 中。
在我的脚本中,我将要检查的正则表达式定义为:
在 ie11 中出现以下错误:
SCRIPT5009:“符号”未定义
xregexp.all.js (1730,11)
SCRIPT5009:“XregExp”未定义
jquery-3.3.1.slim.min.js (2,31232)
ie11如何解决这个问题?我检查过,ie11 没有在兼容模式下运行。我也阅读了 xregexp.com 上的文档,但我看不到任何解决此问题的方法。
我会很感激一些找到解决方案的指南,如果有可能解释为什么 ie11 会这样。
javascript - XRegExp: "Unmatched ')'" 然而一切似乎都是平衡的
我编写了以下代码行:
如您所见,它使用的是XRegExp库,因此我可以使用命名组其他 PCRE 功能。
我收到错误:
syntaxError: Invalid regular expression: /<!-- @[(?<component>[w+])[(*(?<classes>[w+])*)]*] -->/: Unmatched ')'
但是,我不明白无与伦比的地方在哪里)
。据我所知,所有需要转义的括号都应该是,所有不应该的。
这是我要匹配的字符串:
<!-- @[NoteBlock(warning)] -->
这些也应该匹配:
<!-- @[NoteBlock(warning, high-level)] -->
<!-- @[NoteBlock] -->
这不应该匹配:
<!-- @[(warning, high-level)] -->
UDPATE:使用Regex101我设法让正则表达式通过:我已经将正则表达式更新为'<!-- @\[(?<component>[\w+]+)\(*(?<classes>[\w+]+)*\)*\] -->'
但是我仍然遇到同样的错误。
javascript - XRegexP.matchRecursive - 添加回调功能以允许多个相同的实例
我正在使用 XRegexP 专门解析文本文件以查找两组预定义注释标签之间的内容,我无法更改这些标签,因此我需要找到一种方法使其与提供的文本一起使用。
我使用提供的正则表达式找到了所有标签的列表(链接中的示例还包括示例内容):https ://regex101.com/r/kCwyok/1/
然后,我使用 XRegexP 的matchRecursive
函数来获取开始和结束标记之间的所有内容,这些内容几乎都可以正常工作。
我遇到的问题是CodeExample
标签存在两次,标签相同但内容不同,但是,因为matchRecursive
似乎没有回调函数,它只是同时在该组件的所有实例上运行匹配所以CodeExample
返回所有内容的1 个或 10 个实例都没有关系。
有没有办法我可以实际添加某种回调到 matchRecursive?如果做不到这一点,有没有办法让 JavaScript 了解正在查看哪个 CodeExample 实例,以便我可以直接引用数组位置?我认为 XRegexP 知道它正在查看哪个数字 CodeExample 标记,那么有没有办法捕获它?
为了清楚起见,这是完整的代码:https ://pastebin.com/2MpdvdNA
我想要的所需输出是包含以下数据的 JSON 文件:
抱歉,如果我没有清楚地解释这一点,我已经看这个太久了。
javascript - 在 JavaScript 中全局区分大小写的 RegExp 中仅获取一个字符不区分大小写
我想用 Javasacript RegExp 找到成对的字符串: 1. 如果两个字符是相同的字母 2. 如果两个字符的大小写不同
所以'aA'是可以的,但'AA'不是。
该字符串是连续的,因此其中没有空格、换行符、逗号等 - 只有字母[a-zA-Z]。
为此,我想出了以下正则表达式: /(.)((?!\1)(?i\1))/g
粗略解释:取一个字符,如果后面的字符相同(区分大小写),则丢弃第一个字符(继续),如果后面的字符不相同,但不区分大小写,那么我找到了一对。
正则表达式在不同的在线测试器中工作(它适用于很长的字符串),但我无法让它与 Javascript 代码一起工作。
所以这会引发 JS 代码错误:
我尝试使用 XRegExp,但没有任何效果:
我现在完全没有想法 - 正则表达式有效(经过测试),但不适用于 JS。:(
有谁知道如何解决这个问题?我的 JS / XRegExp 代码有错误吗?
PS:这是针对2018 年 12 月 5 日的Advent Of Code :)