Solve the () (?:) (? =) (?!) in the regular expression. What does it mean?

RT

<script>
    let reg = "abca";
    console.log(reg.match(/(a)/));
    console.log(reg.match(/(?:a)/));
    console.log(reg.match(/(?=a)/));
    console.log(reg.match(/(?!a)/));
</script>

clipboard.png

is this clear enough?

Zero width assertion
simply put, my goal is in front of / behind the xxx, but I don't want to match the xxx

.
MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1e51d40-45141.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1e51d40-45141.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?