我正在努力构建匹配<的正则表达式或者>但不是<<或>>
非常感谢任何帮助
答案 0 :(得分:1)
使用以下正则表达式:
(?<!>)>(?!>)
它使用负面后瞻(?<!)
和否定前瞻(?!)
来匹配单个>
。
你可以try it out here in PHP。它不适用于JavaScript,因为它不支持负面的lookbehind。
您也可以使用此正则表达式,它不需要前瞻或后观,但匹配表达式周围的下一个字符。它也将在文档的开头和结尾处起作用:
(?:[^>]|^)>(?:[^>]|$)
var text1 = "nflasnfksalnlk>>lkdmglksanl";
var text2 = "nflasnfksalnlk>lkdmglksanl";
var text3 = ">nflasnfksalnlklkdmglksanl>";
var regex = /(?:[^>]|^)>(?:[^>]|$)/g;
console.log(text1.match(regex));
console.log(text2.match(regex));
console.log(text3.match(regex));
答案 1 :(得分:1)
你正在寻找的正则表达式,包括你对masadwin评论的回应是:
(?<!<)<(?!<) or (?<!>)>(?!>)
您可以查看this demo。
(?<!<)<(?!<)
不允许开出一个有角度的支架,引导或落后另一个。or
完全匹配“或”文字。(?<!>)>(?!>)
这里与开口斜角支架相同,但是对于收尾支架。