如何使用RegEx仅获得第一个字符匹配

时间:2018-12-26 10:09:02

标签: javascript regex

我想使用RegEX在JavaScript中拆分字符串。

这是示例字符串:

REQUEST : LOREMLOREM : LOREM2LOREM2

是否可以将其拆分为:

[REQUEST , LOREMLOREM : LOREM2LOREM2]

我尝试使用/:?/g,但是它不起作用。

3 个答案:

答案 0 :(得分:1)

代替使用正则表达式,可以在冒号上进行分割,然后使用shift的组合从数组中删除并返回第一项,并使用join组合使用冒号连接其余项:

let str = "REQUEST : LOREMLOREM : LOREM2LOREM2";
$parts = str.split(':');
[a, b] = [$parts.shift().trim(), $parts.join(':').trim()];
console.log(a);
console.log(b);

答案 1 :(得分:0)

您可以简单地做到:

var parts = str.match(/([^:]*)\s*:\s*(.*)/).slice(1)

这将匹配整个字符串并提取两个所需部分。 slice操作使结果成为纯数组,并从结果中删除整个字符串。

答案 2 :(得分:0)

只需最后删除全局修饰符'g''?'量词。没有这些表达式,表达式将仅返回第一个匹配项。

您的新RegEx将为 /:/

要测试正则表达式,请转到 https://regex101.com/r/11VFJ8/2