正则表达式以查找两个字符之间的字符串

时间:2019-05-23 12:34:12

标签: regex

我正在尝试创建一个REGEX来在以下输入中找到\>之间的字符串:

\\RANDOM\APPLE\BOB\GEORGE\MIKE\TOM >>\\TEST\TEST2\TEST3\TEST\TEST\JOHN.

所需的输出:TOM

我已经能够创建([^>]+)来隔离第一个>之前的字符串的第一部分。我只是似乎无法弄清楚如何对此进行扩展并隔离TOM。

2 个答案:

答案 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*>)

Demo:

即使所需的匹配项后有一个或多个>并且在>之前有一个或多个空格,它也将起作用。

我的意思是:此正则表达式将匹配所有以下字符串中的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.