#regex #string #github
#регулярное выражение #строка #github
Вопрос:
Я хочу написать регулярное выражение для обеспечения соблюдения соглашения об именовании PR, например:
[JIRA-1234] My PR description name
Где 1234
может быть любое количество цифр любой длины и My PR description name
может быть любой строкой, если длина больше нуля.
Как я могу этого добиться? До сих пор я пытался:
^(?=[JIRA)(.*)(?=])[a-zA-Z]*
Комментарии:
1.Нравится это?
^[JIRA-d ]s*w.*
regex101.com/r/YSY88m/12. Вероятно, это может быть просто
^[JIRA-[0-9] ] .
или^[JIRA-[0-9] ] [^ ].*
3. возможно, это поможет: ^[JIRA- d ][sa-zA-Z] $ regex101.com/r/9lQSP0/1
4. Сработало ли какое-либо решение для вас?
Ответ №1:
Вы можете сопоставить часть JIRA, за которой следуют необязательные символы пробела, и начать хотя бы с одного символа слова, а остальная часть строки не будет совпадать с любыми символами пробела для имени описания.
^[JIRA-d ]s*w.*
Демонстрация регулярных выражений
Или сопоставьте символы с 0 пробелами без перевода строки, и если описание также может начинаться с другого символа, отличного от символа слова, вы можете сопоставить символ без пробелов, используя S
^[JIRA-d ][^Srn]*S.*
Комментарии:
1. s *w. * он также будет принимать число .. но в соответствии с op это должна быть строка длиной более 0
2. @ShekharKhairnar Эта часть
s*w.*
соответствует по крайней мере одному символу слова и поэтому должна быть длиннее 0, и она не будет соответствовать только пробелам в качестве описания.
Ответ №2:
Вы можете попробовать с ^^[JIRA-d ](?:s{1}[a-zA-Z] ) $
[JIRA-d ]
maches [JIRA-1234]
(?:s{1}[a-zA-Z] )
не захватывающая группа (одиночный пробел, за которым следует один или несколько символов) по крайней мере один или несколько раз