我正在尝试创建一个REGEX来在以下输入中找到\
和>
之间的字符串:
\\RANDOM\APPLE\BOB\GEORGE\MIKE\TOM >>\\TEST\TEST2\TEST3\TEST\TEST\JOHN.
所需的输出:TOM
我已经能够创建([^>]+)
来隔离第一个>
之前的字符串的第一部分。我只是似乎无法弄清楚如何对此进行扩展并隔离TOM。
答案 0 :(得分:1)
尝试
\\([^\\>]+?) >>
正则表达式Demo
在javascript中:
let regex = /\\([^\\>]+?) >>/
// Note \\ is required for literal \ in js
let str = "\\\\RANDOM\\APPLE\\BOB\\GEORGE\\MIKE\\TOM >>\\\\TEST\\TEST2\\TEST3\\TEST\\TEST\\JOHN.";
match = str.match(regex);
console.log(match[1]); //TOM
答案 1 :(得分:1)
这应该有效:
[^\\\s>]+(?=\s*>)
即使所需的匹配项后有一个或多个>并且在>之前有一个或多个空格,它也将起作用。
我的意思是:此正则表达式将匹配所有以下字符串中的TOM:
\\RANDOM\APPLE\BOB\GEORGE\MIKE\TOM >\\TEST\TEST2\TEST3\TEST\TEST\JOHN.
\\RANDOM\APPLE\BOB\GEORGE\MIKE\TOM >>\\TEST\TEST2\TEST3\TEST\TEST\JOHN.
\\RANDOM\APPLE\BOB\GEORGE\MIKE\TOM>>\\TEST\TEST2\TEST3\TEST\TEST\JOHN.