我有以下原始字符串:
# Original strings
js/main_dev.js # This one is just to check for false positives
js/blog/foo.js
js/blog/foo.min.js
我想对每一个代码运行一个替换正则表达式,最后得到以下结果:
# Desired result
js/main_dev.js
js/blog/foo_dev.js
js/blog/foo_dev.min.js
因此,基本上,如果_dev存在,如果不存在,则在.min.js之前添加.js。这应该只适用于以js/blog或js/calculator开
正文是:
Here is some text!
正则表达式(查找单个匹配项)为:
Here is (\w+\s?)+
在.NET中只有一个匹配项:Here is some text
javascript中的...but有两个:Here is some text和text。
为什么在js中有两个匹配,而在.NET中只有一个?
我必须从一个字符串中提取几个文件名,包括可能的路径。问题(对我来说)是,字符串可能有许多变体,如果不存在,则必须在文件名之前插入一个字符。我认为下面的例子应该更容易理解。
我尝试了下面的Spahetti代码,因为我不是regex,不知道如何执行多个操作。同样在这个脚本片段中,在缺少文件名之前插入一个字符。请注意,我推送filenames数组中的每个文件名。
const regex = /@import(.*);/gm; const str = content; let m;
while ((m = regex.exec(str)) !== null) {
if (m.index === r
我目前正在阅读伊桑·布朗( Ethan Brown,2016)的“学习JavaScript”。我正在浏览反向引用部分中的示例,它们总是以'null‘出现。这里有两个例子。
示例1:匹配遵循模式XYYX的名称。
const promo = "Opening for XAAX is the dynamic GOOG! At the box office now!";
const bands = promo.match(/(?:[A-Z])(?:[A-Z])\2\1/g);
console.log('bands: '+ bands);//output was
这个JS正则表达式错误正在杀死我-三个中有一个正确匹配,一个错误匹配。
如果有什么不同的话,我会用Google脚本编写我的脚本。
我有一个字符串(xml格式),我想匹配三个日期节点,如下所示:
<dateCreated>1619155581543</dateCreated>
<dispatchDate>1619478000000</dispatchDate>
<deliveryDate>1619564400000</deliveryDate>
我不太关心标签-我只需要足够可靠地替换它们。我使用这个正则表达式:
var re
您能使用node.js快递从重新规划的路径中获取其余的路径吗?
假设我的服务器在端口8080上,并且我只是访问
var url = require("url");
app.get("/get/*", function(req, res) {
console.log(req.path);
// this will return
// '/get/path/to/file'
console.log(url.parse(req.path);
// this will return
// protocol: null,
我正在尝试捕捉1到2条信息。当使用regexr时,它显示我的表达式正在正常工作,并按应有的方式捕获,但在运行它时,它只从单个字符串(与regexr中相同的数据上)捕获,并为其余的字符串返回null。
我已经尝试构建表达式
当切换到JS口味时,它显示捕获组不是通过颜色覆盖工作,而是显示它们在侧窗格中正确工作。即使是最简单的捕获组似乎也不起作用。
我遗漏了什么?
投入如下:
<@U0BUPU9QQ> 49
50
<@U0BUPU9QQ>
<@U0BUPU9QQ> noget 49 noget andet tekst 5 40
<@U0BUPU9QQ>
在下面的代码中,我有r= regex。然后对给定的字符串进行测试,以查找在@和空格之间找到第一个包含的子字符串的匹配项,其中@必须启动测试字符串,或者必须跟随空格。
const test = (s) => {
let r = /(?<=^@|\s@)[^\s]+/g;
let a = r.exec(s);
if (a)
console.log(`given: ${s}, found: ${a[0]}`);
else
console.log(`given: ${s}, no match found.`);
}
test("@abc"
我使用的是带有嵌入式REGEX的JDE,它显然不支持(?<=text)或(\Ktext)背后的正向查找。我希望忽略一个没有匹配或捕获的组,因为我没有能力在事实之后使用组捕获。这确实需要在REGEX初始级别执行。
示例是:'Text语句每次都说同样的话: 432',我只想捕捉这个数字。
(?<=Text statement says the same thing every time:)(.*?([0-9]+).*?)
regex只是放置在JDE执行的文本文件中,以便创建一个命名实体。据我所知,我只能将regex语句放入这个文本文档中,而不能调用JS函数。
有什么解决
我有一串字不同的字
let str = `'code' AND js AND "test" OR "'unit'" AND "work" AND "'apple'" `;
如果在"和"之间,是一个'',则保持原样(如"'unit'"和"'apple'")。
如果是简单的"word" -替换为'word' (如"test"和"work&