我想在 JavaScript 中创建一个函数,它接受两个参数:一个正则表达式对象和一个字符串。
正则表达式最多可以有一个捕获组。
如果有捕获组则返回$1,否则返回剩余的字符串;
因此 myfunc("hello123",/\d+/)
应返回 hello 且
myfunc("hello123",/\w+(\d+)/)
应返回 123
如何判断是否存在捕获组?
最佳答案
使用match
时,如果模式根本无法匹配,则返回null
。如果存在匹配,则索引 0
处的字符串将是完全匹配,而后续索引将包含捕获组。基本上第一个捕获组将位于索引 1
处,依此类推。
关于javascript - 使用正则表达式,有条件地替换为 $1 或空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23804716/