Conversation
- is a special character in regex when you use inside character class [], it stands for range when it appears anywhere else except As the first character in class or after [^] At the end of character class so your regex should be -- 'JIRA-[0-9]+'
| set -e | ||
|
|
||
| zero_commit='0000000000000000000000000000000000000000' | ||
| msg_regex='[JIRA\-[0-9]+\]' |
There was a problem hiding this comment.
@sandeeprayala: as you noticed, minus is a special character, so we escaped it to match it as a literal. Your suggested change is to remove that escaping. Have you tested your change? Are you saying that the script did not work for you before?
There was a problem hiding this comment.
Yes, I have tested and it worked for me, my suggestion is to remove the " [ ] "'.
once you remove the square brackets the regex would be as below.
msg_regex= 'JIRA-[0-9]+'
There was a problem hiding this comment.
I agree; this regex is a mess. The first [ is unescaped, which makes the rest act as a set that goes up to the closing ] after the 9.
I set up an example here with a full explanation - https://regex101.com/r/R6kCL6/1
This broken regex will incorrectly match:
JIRA-99]0]-]
The outer brackets should be escaped or totally removed depending on the author's intent.
Jmangle93
left a comment
There was a problem hiding this comment.
This is a good way to fix this regex
'-' is a special character in regex when you use inside character class [], it stands for range when it appears anywhere else except
As the first character in class or after [^]
At the end of character class
so your regex should be -- 'JIRA-[0-9]+'