我想使用正则表达式,在Javascript中找到匹配的字符串。
例如:
/bla/* should match /bla/something
/bla/*/* should match /bla/something/someOhther
/bla/*/*/blub should match /bla/something/someOhther/blub
所以实际上*是占位符,可以是任何东西。我没有找到一个在正则表达式中做到这一点的好方法,但我很确定这是一个简单的方法..你能帮忙吗?
答案 0 :(得分:1)
将/
替换为\/
,将*
替换为.*
,它应与
"/bla/something/someOhther".match(/\/bla\/.*\/.*/)
并通过执行
将输入的正则表达式转换为实际的正则表达式"/bla/*/*".replace(/\*/g, ".*").replace(/\//g, "\\/");
修改强>
要确保.
与整个字符串不匹配,请将.
替换为[^/]
"/bla/something/someOhther".match(/^\/bla\/[^\/]*\/[^\/]*/$) ; //will match
但这不匹配
"/bla/something/someOhther/hj".match(/^\/bla\/[^\/]*\/[^\/]*/$) ; //will not match due to extra /hj
并通过执行
将输入的正则表达式转换为实际的正则表达式"/bla/*/*".replace(/\*/g, "[^\/]*").replace(/\//g, "\\/");