我目前正在尝试将以下案例与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/index.js
然而,没有一个案例是匹配的,我做错了什么?
答案 0 :(得分:2)
希望这会帮助你。你添加了一些额外的字符,让你的正则表达式失败。
正则表达式: \.\/(atoms|molecules|organisms)\/[^\/]+\/index\.js
1。
\.\/
这将匹配./
2。
(atoms|molecules|organisms)
这将匹配atoms
或molecules
或organisms
3。
\/[^\/]+\/
这将匹配/
,然后直到/
4.
index\.js
这将匹配index.js
答案 1 :(得分:1)
为什么不只是这个simpler pattern?
\.\/(atoms|molecules|organisms)\/.*?index\.js
答案 2 :(得分:0)
尝试以下方法:
\.\/(atoms|molecules|organisms)\/[a-zA-Z]*\/index\.js
正斜杠(和其他特殊字符)应使用反斜杠\
进行转义。
\.\/(atoms|molecules|organisms)\/
匹配' .atoms /'或.molecules
或organisms
严格。如果没有括号,它将匹配部分字符串。 |
是一个交替运算符,它匹配左侧的所有内容或右侧的所有内容。 [a-zA-Z]*
都会匹配任意长度的字符串和字符。 a-z
占小写,A-Z
占大写。 *
表示一个或多个字符。根据{{1}}中可能包含的字符,您可能需要使用someCompenent
来计算数字。[a-zA-Z\d]*
将匹配' /index.js'