I have tried a lot doing this using RegExp.
Pattern: \*.*\*!
Test text:
/**!
* Plugin Name 1.0.0
* @author Name
*/
/*! Test */
/* Test */
/************************************************************************/
/******/ /* Test */
/******/
/*!*********************!*\
!*** ./index.ts ***!
\*********************/
Link for test: https://regexr.com/6eoa0
It works great and matches the first comment and that's what I need, but for some reason, it matches the other two comments.
How can make it detect comments that start with **! (in one line).
You can use
/\/\*\*![^*]*\*+(?:[^\/*][^*]*\*+)*\//g
See the regex demo. Details:
\/\*\*! - a /**! string[^*]* - zero or more chars other than asterisks\*+ - one or more asterisks(?:[^\/*][^*]*\*+)* - zero or more sequences of
[^\/*] - any char other than a / and *[^*]* - zero or more chars other than asterisk\*+ - one or more asterisks\/ - a / char.