For example,
hljs.registerLanguage('mylang', function(hljs) {
return {
contains: [
{
className: 'class1',
begin: /^a(?!bc)/,
},
{
className: 'class2',
begin: /^[^\r\n]/,
}
]
};
Testing string: 'abc'.
'a' char will match 'class1', although it should 'class2'.
For 'end' attribute - same.