gra*_*ray 1 javascript regex space
我需要检查数字是否在字母旁边,如果是,请添加下划线.
例如:
Grapes23 --> Grapes_23
Run Code Online (Sandbox Code Playgroud)
我已经尝试了很长一段时间,但我是正则表达式的新手.我试过这个,但它不起作用:
str=str.replace(/([A-z]+)([0-9])/i, '_'); //if number next to letter, add underscore
Run Code Online (Sandbox Code Playgroud)
我很感激任何帮助,谢谢!
寻找一个字母后跟一个数字:
str = str.replace(/([a-z])(?=[0-9])/ig, '$1_');
Run Code Online (Sandbox Code Playgroud)
这个正则表达式如何工作:
([a-z]) 是任何小写字母,包裹在parens中使它成为"匹配组"(?=[0-9])是一个"前瞻".它基本上意味着"后跟[0-9](任何数字)"i意味着忽略大小写(否则我们将不得不使用[a-zA-Z])g 表示全局,或替换它找到的每个匹配(默认只替换第一个)$1 表示"第一个匹配组",或上面第一个项目符号匹配的字母.