我尝试使用谷歌搜索,但无法找到我想要的东西。在正则表达式测试中尝试了一些解决方法,但无济于事。
我想在冒号后得到值,但不要包含方括号或角括号。
基于以下示例意义:
userId: user1
userId: <user1>
userId: <user 1>
[userId: <user1>]
我应该只获得值user1
我尝试了这个正则表达式:userId:\s(.*?])
但它会在user1之后获得<>
和]
。
顺便说一下,如果它有任何帮助,我正在使用Ruby Regular Expression Editor。
更新: 需要处理中间间隔的字词。
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以使用/(:\s<?)(\w+\s?\d)/g
,然后匹配第二组:
var myString = "[userId: <user1>]";
var myRegexp = /(:\s<?)(\w+\s?\d)/g;
var match = myRegexp.exec(myString);
console.log(match[2]); // user1
请注意,"userId: <user 1>"
将返回"user 1"