我想替换js中的所有./实例
我的代码是这样的
var text = './test';
var baseUrl = 'http://www.example.com/';
text = text.replace(/./\/g, baseUrl);
这是不起作用的,因为我也想替换一个正斜杠。我怎么能忽视这件事?
我有以下的js代码
var regex = new RegExp('([\'"]?)((?:\\\\\\1|.)+?)\\1(,|$)', 'g'),
key = regex.exec( m ),
val = regex.exec( m );
我想理解它。特别是:
为什么在RegExp的定义中有这么多反斜杠?我可以清楚地看到,\\1是对第一个保存元素的引用。为什么在新的RegExp中使用‘而不是’我们需要使用\\1而不是简单的\1
为什么key和val的两个定义之间有逗号?我可能会猜测,这取决于使用"g"查找的“实例”,但
我正在写一个函数,它接受一个预期的文件名,并验证它,以确保文件名中没有系统不允许的字符。这些是不允许的字符:/\|*?“<>
显然,我可以使用string.indexOf()逐个搜索每个特殊字符,但这比仅使用string.search()使用正则表达式查找文件名中的任何字符要长得多。
问题是,这些字符中的大多数都被认为是描述正则表达式的一部分,所以我不确定如何将这些字符包含为regex本身的一部分。例如,Javascript正则表达式中的/字符告诉Javascript它是正则表达式的开始或结束。如何编写一个JS正则表达式,其功能行为如下: filename.search(\ OR
由于某些原因,js不能将我的字符串与regexp匹配。
href = "/admin/user/manage/621/edit";
var myRegexp = new RegExp("/user\/manage\/([0-9]+)/g");
var match = myRegexp.exec(href);
console.log(match)
尝试了不同的组合,结果仍然是空的。怎么啦?
我使用的是Express,我想将/和/index匹配到同一条路线。但如果我写
app.route('/(index)?')
节点抛出此错误:
c:\myproject\node_modules\express\node_modules\path-to-regexp\index.js:69
return new RegExp(path, flags);
^
SyntaxError: Invalid regular expression: /^\/(?(?:([^\/]+?)))?e\/?$/: Invalid group
at new RegExp
我有这个字符串
we have two papers // two handbags /// three bags //// four bottles
我想让它成为
we have two papers / two handbags / three bags / four bottles
我试过string.replace(///g, '/'),但它不起作用
它返回一个语法错误。
我目前正在尝试将以下情况与Regex匹配。
电流调节器
\.\/[^/]\satoms\s\/[^/]+\/index\.js
病例
// Should match
./atoms/someComponent/index.js
./molecules/someComponent/index.js
./organisms/someComponent/index.js
// Should not match
./atomsdsd/someComponent/index.js
./atosdfms/someComponent/index.js
./atomssss/someComponent/i
我很难弄清楚为什么这段代码不能生成匹配对象。我在Centos操作系统上运行python版本2.6.6。
>>> x = r'\[GOOD\]'
>>> y = r'it made me feel \[GOOD\]'
>>> match = re.search(x, y)
>>> print match
None
我的预期输出将是一个match对象,如下所示:
>>> match = re.search ('hi', 'hilllaos')
&
我需要一个货币类型的正则表达式。所需经费:
1. First char can be a '$'. It can appear either 0 or 1 times.
2. Then a digit can appear multiple times.
3. Then a decimal point can appear either 0 or 1 time.
4. After this, a digit can appear 0 or more times.
我编写了以下正则表达式:
\$?\d+\.?\d*
我要在JS上测试这个。我就是这样在JS上测试这个的;
var
我正在试着找出解决我遇到的问题的方法。如果我执行以下C#代码:
Regex r = new Regex("[\\r\\n]*");
Match m = r.Match("\\r\\n");
如果我检查m.Success的值,我得到的值是true,这是正确的。但是如果我检查m.Length的值,我得到的值是0。如果我检查m.Value,我也会得到一个空值。我的Regex中是不是遗漏了什么?我的印象是,要么m.Success必须为false且m.Length为0,要么m.Success必须为true且m.Length必须大于0。任何帮助清理这一点将不胜感激!