我使用的是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
我一直在语言语法中看到这种正则表达式,它允许编辑器突出语法。
我知道regex想传达什么:
(?!\G) Negative Lookahead - Assert that it is impossible to match the regex below
\G assert position at the end of the previous match or the start of the string for the first match
下面是引起我注意的片段:
控制台
# console.log(arg1, "arg2", [...])
'begin
我目前正在尝试将以下情况与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
我有一些在C#中从Chrome导出的性能数据,其中包含大量的网址。我想要一个专门的,只在它第一次出现的时候。实际上可以是any,因为它重复了多次,但是如果我有一个由各种垃圾和URL混合组成的字符串,我如何找到以https开头并以mpa结尾的字符串? 所以这就像https://thisisaurl.com/2020/11/20/14243324324/324234/test.mpa注意到https和mpa之间的一切都可能是不同的。实际上,thisisaurl.com可能会保持不变,但现在还不能确定。只需知道URL将以mpa结尾。 我一直在玩这样的东西: var linkParser = new
我需要一个货币类型的正则表达式。所需经费:
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
Ace编辑器在使用以'|‘结尾的正则表达式设置突出显示规则时抛出无限循环错误。例如:"ab|cd|“。这并没有突出显示所有有效的匹配。在控制台上反复抛出以下错误。 ace.js:1 Error: infinite loop with in ace tokenizer
at o.s [as reportError] (ace.js:1)
at o.getLineTokens (ace.js:1)
at o.$tokenizeRow (ace.js:1)
at o.getTokens (ace.js:1)
at f.getTokens (a
我有一个RegEx,用于从iOS用户代理字符串中获取版本号。
我的RegEx是/OS ([0-9_]+)/g,它正在应用于用户代理字符串(如Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X; en-us) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53 )
我已经在一个在线RegEx工具上进行了测试,它声称它应该能按照我的意愿工作。我的考试是。我在Javascript里试过了,我得到了匹配。然后我把它放到C#中,我没有找到匹
R.replace(/[0-9](?!([0-9]{4}))/g,'*','123456789');
yields 12345****
want to input 123-45-6789 and yield 123-45-****
Currently based on above it yields ***-**-****
不知道为什么。我正在使用rambda js来模拟。
需要帮助来构建正则表达式。任何帮助我们都将不胜感激
我正试着从一个页面中得到一个链接
url: '和',
我尝试过通过google找到几种不同的解决方案,但我得到的最接近的解决方案是
function pregmatch() {
var re = new RegExp("url: '(.*)',", "g"),// the regex
txt = 'some text'; // the text on page to be replaced by url
newtxt = txt.replace(txt,re); // replace
我有JS文件,需要解析其中的数组:
something: ['Prefix.All','Ignore.Me','Prefix.Another']
我需要从定义了前缀的"something“数组中获取所有元素。现在,如果数组只包含一个元素,我就可以得到它了。我的regexp:
String: something: ['Prefix.All']
Can get element with:
/something\s*:\s*\[['"](Prefix[a-zA-Z0-9.]+)['"]]/
但是如
我希望排除包含特定单词或短语的匹配。例如,我如何才能只匹配第1行和第3行?\b单词边界并不像我预期的那样直观地工作。
foo.js # match
foo_test.js # do not match
foo.ts # match
fun_tset.js # match
fun_tset_test.ts # do not match
更新
我想排除的是在扩展名前显式以_test结尾的字符串。起初,我有类似于[^_test]的东西,但这也排除了这些字符的任何组合(如第3行)。
我正在尝试设计一个循环,让我忽略一些匹配项。到目前为止,我有: for d in /home/chambres/web/x.org/public_html/2018/js/lib/*.js ; do
if [[ $d =~ /*.min.js/ ]];
then
echo "ignore $d"
else
filename="${d##*/}"
echo "$d"
#echo "$filename"
fi
done 然而,当我运行