javascript - 如何从给定的正则表达式中删除定界符?

标签 javascript regex regex-group

我的输入:

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/

相关文章:

python - 如何在 python 3.7 中使用正则表达式来拥有 2 或 3 个组?

java - 字符串中单词之间额外空格的正则表达式条件

javascript - 将 Google 联系人 ID 转换为十六进制以在 URL 中使用

javascript - 如何使用 ajax crud 将数据表实现到 laravel 5.4 中

javascript - 我可以获取一个单词,但不能获取另一个单词,这是怎么回事?

javascript - 一个字母和三个数字的正则表达式

用于国家域的 php 正则表达式

javascript - 如何在不将文件内容加载到 JavaScript 内存的情况下知道文件中的行数?

Python 2.7.16 - 正则表达式lookbehind不适用于Findall

javascript - 正则表达式匹配句子和字符串中的单词