我有这个正则表达式:/\*([^<|\n|\r]+)/
匹配以*开头并以新行或'&lt;'结尾的字符串中的所有字符,如果它们以**开头,我如何修改此正则表达式以匹配字符串(因此它不匹配如果第二个字符也是*)
答案 0 :(得分:1)
您需要的是negative lookarounds。
/(?<!\*)\*(?!\*)([^<\n\r]+)/
此外,[^<|\n|\r]
没有按照您的想法执行。它将匹配任何非<
,\n
,\r
或文字|
字符的内容。除非您想要匹配文字|
,否则您不需要字符类中的|
。
答案 1 :(得分:0)
我认为这应该有效。它被称为“零宽度负向前瞻断言”
/\*(?!\*)([^<|\n|\r]+)/
答案 2 :(得分:-1)
/\*[^\*]([^<|\n|\r]+)/
更改有效地表示“匹配a *但仅当下一个字符不是*”时