const regex = /^([\s]{2,})(?!.*[&@])(.*?)([,{])\n/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('^([\\s]{2,})(?!.*[&@])(.*?)([,{])\\n', 'gm')
const str = `#term-header {
padding: 20px 0 17px;
margin: 0 10px 30px;
&::before,
&::after {
margin-left: -11px;
border-width: 12px 10.5px 0 10.5px;
}
&::before {
bottom: -12px;
}
&::after {
bottom: -10px;
}
h1 {
font-size: 20px;
span {
font-size: 27px;
}
}
dl {
margin: 20px 0 0;
dt {
width: 100px;
}
dd {
font-size: 11px;
}
}
}
.slick-next,
.slick-prev {
width: 35px;
height: 35px;
}
.slick-prev {
left: 5px;
transform: translate3d(-30px, 0, 0);
&::after {
left: 14px;
}
}
.slick-next {
right: 5px;
transform: translate3d(30px, 0, 0);
&::after {
right: 14px;
}
}
.ready.inview {
.slick-prev {
&.slick-disabled {
transform: translate3d(-30px, 0, 0);
}
}
.slick-next {
&.slick-disabled {
transform: translate3d(30px, 0, 0);
}
}
}
.wp-editor {
font-family: var(--fontFamily);
font-size: var(--fontSize);
line-height: var(--lineHeight);
& h3,
& h4,
& p {
margin: var(--wpEditorMargin) 0;
overflow: hidden;
&:first-child {
margin-top: 0;
}
&:last-child {
margin-bottom: 0;
}
}
& h3 {
font-size: 14px;
}
& h4 {
font-size: 13px;
}
& a {
color: var(--linkColor);
text-decoration: underline;
&:hover {
text-decoration: none;
}
}
& img {
max-width: 100%;
height: auto;
}
& blockquote {
padding-left: 15px;
margin: var(--wpEditorMargin) 0;
font-weight: bold;
border-left: 5px solid var(--borderColor);
@media (--viewport-medium) {
padding-left: 35px;
}
}
}`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions