如何删除最后一个|?

时间:2019-03-26 09:30:13

标签: regex

你好,我有这段文字:

var str = '[ {\n  \"lightid\": \"ID1\",\n  \"brightness\": \"123\",\n  \"RGB\": \"1,2,3\"\n}, \n {\n  \"lightid\": \"ID2\",\n  \"brightness\": \"246\",\n  \"RGB\": \"2,4,6\"\n} ]'
var jsArr = JSON.parse(str);
console.log("jsonObj[0].brightness", jsonObj[0].brightness);

我想使用正则表达式:

a | b | c | d
d | 3 | r | 9
r | r| 8 | u

我该怎么做?

谢谢!

2 个答案:

答案 0 :(得分:1)

使用此模式:^(.+)\|(.+)$

说明:

^-字符串的开头

(.+)\|-.+匹配任何一个或多个字符,直到出现| last (由于使用了贪婪量词)为止,该字符与{ {1}}并将其存储在第一个捕获组中

\|-匹配任何一个或多个字符,直到字符串(.+)$的结尾

并使用以下模式替换字符串:$\1\2引用第一个捕获组,\1-第二个捕获组。

Demo

答案 1 :(得分:1)

匹配最后一个|与(\|)(?=[^|]*$)

这意味着匹配| ,后跟任意数量的非|,表示它是最后一个。