我试图在最后一次出现>之后获取所有字符页面上的元素的符号。我无法知道有多少>将在那里,也可以在结果集中包含特殊字符。
例如: 0级> 1级> 2级> 3级,&虚拟文本
到目前为止,我已经获得了这个正则表达式:
([^\>]+$)
但这是在>之后立即占领空间。我没有空间就需要它。
希望它有点简单我忽略了......谢谢!
答案 0 :(得分:1)
您应该使用lastIndexOf来获取最后发生的>
,然后您可以使用substring来获取所有内容
const str = 'Level 0 > Level 1 > level 2 > Level 3, & dummy text'
let idx = str.lastIndexOf('>')
console.log(str.substring(idx + 1).trim())

答案 1 :(得分:0)
您可以要求匹配不要以空格开头,将“至少一个非>
字符”([^>]+
)替换为“非>
非空格”字符后跟任意数量的非>
字符“:
/[^> ][^>]*$/
([^>\s]
会覆盖更多种类的空格,例如标签,如果您有兴趣的话。)
const text = 'Level 0 > Level 1 > level 2 > Level 3, & dummy text';
console.log(/[^> ][^>]*$/.exec(text));
如果分隔符始终被空格所包围,例如,只搜索' > '
的最后一个实例会更有效。
答案 2 :(得分:0)
如果字符/\s*([^\>]+$)/g
后面有空格,请使用此'>'
。
const regex = /\s*([^\>]+$)/g;
let str = ` Level 0 > Level 1 > level 2 > Level 3, & dummy text`;
let match = regex.exec(str);
console.log(match[1]);
我希望它有所帮助。
答案 3 :(得分:0)
试试这个
var str = "Level 0 > Level 1 > level 2 > Level 3, & dummy text";
var regx = /.+\s>\s/g;
var res = str.replace(regx, "");
console.log(res);