To wyrażenie regularne działa dla mnie:
(?:(?:todo|TODO)(?:\[[A-Z,a-z]+\-\d+\])?\s(\s*\b.*\b)*)|(?:\/\*\s*(?:todo|TODO)(?:\[[A-Z,a-z]+\-\d+\])?\s(?:(?!\*\/)[\s\S])*\*\/)
Zasadniczo szuka następujących elementów:
- Todo lub TODO kluczowe opcjonalnie sufiksem id bilet / emisji w nawiasach i dowolnej ilości znaków, po jednym znaku spacji białym.
- Wielowierszowy komentarz w języku Java rozpoczynający się od / *, po którym następuje dowolna ilość odstępów, a następnie warunki opisane w opisie czynności do wykonania w jednym wierszu powyżej. Kończy się, gdy znajdzie * / w dowolnym z poniższych wierszy.
Przykłady jednowierszowe:
todo some very important stuff
TODO[SAOY-1376] An urgent bug fix described in the SAOY-1376
// todo some very important stuff
// TODO[SAOY-1376] An urgent bug fix described in the SAOY-1376
Przykłady wielowierszowe:
/* todo assignee or something
a very important message
another thing
*/
/* TODO[SAO-13]
* a very important message
* another thing
*/