我有一个看起来像这个
之一的字符串TEST/4_James
TEST/1003_Matt
TEST/10343_Adam
我想拆分此字符串以获取TEST和" _"之后的名称,正则表达式可用于在"/" + any number + "_"
拆分它?
谢谢
答案 0 :(得分:3)
使用match
和捕获群组:
var james = "TEST/4_James";
matches = james.match(/(.*)\/.*_(.*)/);
console.log(matches[1]); // TEST
console.log(matches[2]); // James

// In order of appearance
(.*) //matches any character except newline and captures it
\/ //matches a forward slash
.*_ //matches any character except newline followed by an underscore
(.*) //matches any character except newline (what's left) and captures it
有人提到了这一点:https://regex101.com/我也使用它,如果您正在学习正则表达式,那么它是一个很棒的资源,因为它不仅可以让您编写和测试它们,而且#&#&#39} 39;教育方式解释每一段正则表达式及其作用。
如果可以的话,在表达式中表达比.*
更明确是个好主意。例如,如果您知道它将是数字或字符,或者特定字符串,那么使用更明确的模式。我只是用这个,因为我不确定是什么' TEST'可能包含在实际场景中。