我真的不知道该怎么称呼它,但我正在努力。
所以我现在正在编写一些Javascript,我试图检测/替换某些内容
例如,我希望epp://t.e
更改为ui
等
它始终以uii
开头,但它可以是uie
或uiq
/ .e
,它始终以.eq
结尾,但它可以是.ep
/ .eyqk
/ /ui.*:\/\/.*\.e.*/igm
等
我知道如何更换它,但我只是想为它获得正确的正则表达式
我尝试了abc.stuff.xyz
,但它完成了整行,我只是想让它替换一个解析。
所以基本上我想要它替换它就像我做的那样,但是我希望它只能在没有任何空格的情况下进行一次Parse,例如,我知道如何做到像abc.somethingelse.xyz
之类的东西来做它try{
myPath = "../Grafiche/ePriceData.txt";
$.evalFile(myPath);
eval(thisComp.name)[index+1];
等等,但是用它来代替整个字符串而不是一个字。
我是Regex的新手,所以如果我错过了一些非常明显或容易的事情,请不要感到惊讶。如果您要解释它是如何工作的话,回复它会很棒
答案 0 :(得分:0)
由于您要替换文本中没有空格的文本,因此可以使用单词边界\b
和\S
来匹配任何不是空格的内容。
具体而言,就像寻找字母[a-z]*
而不是使用.*
一样,可以更清晰地表达您需要的内容。
实施例:
var str = "blah uii://thiscanbeanything.eau blah";
const regex = /\b(ui[a-z]?):\/\/(\S*)\.(e[a-z]{0,3})\b/gi;
console.log(str.replace(regex, "epp://t.e"));
// using the capture groups
console.log(str.replace(regex, "$1://something.$3"));

m
多行标记未被使用,因为正则表达式不是^
& $
为开始&结束了。