我的输入:
str = "User-123"
对/对:
name: User
id: 123
另一个输入:
str = "User 123"// current this works with my regex.
o/p:同上
其他可能的输入:
str = "User:123"
str = "User/123"
str = "User:123"
代码:
let m = value.match(/([a-z]+\s*\d+)\s+([a-z]+\s*\d+|\d+\s*[a-z]+)/i);
if (m) {return true}
else {return false}
如果我有分隔符,上面的代码会返回 false,因为它没有找到分隔符的匹配项。我想为上面列出的所有场景返回 true。
目前它只删除空格,我怎样才能从这个正则表达式中删除定界符呢?
最佳答案
看起来您只想拆分非字母数字字符:
let inputs = [
"User:123",
"User/123",
"User:123",
"User-123",
"User 123"
]
for (i of inputs){
let [name, id] = i.split(/[^a-z0-9]/i)
console.log("name:", name, "id:", id)
}
关于javascript - 如何从给定的正则表达式中删除定界符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55989053/