我正在尝试在JIRA中设置邮件处理程序。我有以下可能的格式,我需要确保字符串包含Case [number] - New Comment Added
。
因此对于以下内容,它应该返回123456
(可能是更多数字,但数字之间没有空格)
RE: Vendor Support Case 123456 - New Comment Added
Case 123456 - New Comment Added
答案 0 :(得分:4)
这是一个选项,它也可以在数字之前和之后找到字符串,但不会使它们成为匹配的一部分:
#include <stdio.h>
#include <cs50.h>
int main(void)
{
char choices;
float math, pc, svt, eng, philo;
do
{
// Other code here
int choice = GetInt();
if(choice == 1){
float score = (math*7 + pc*7 + svt*7 + eng*2 + philo*2)/25;
printf("Your score is %.2f\n", score);
}
else if(choice == 2){
float score = (math*9 + pc*7 + svt*3+ eng*2 + philo*2)/23;
printf("Your score is %.2f\n", score);
}
else{
printf("You've picked the wrong choice \n");
choices = 'Y';
}
if ((choice == 1) || (choice == 2))
{
printf("Do you want to try it again? (Y/N) ");
choices = getchar();
while (choices != '\n' && getchar() != '\n') {};
}
} while (choices == 'Y' || choices == 'y');
}
(?:Case\s*)(\d+)(?: - New Comment Added)
是正则表达式中的非捕获组 - 即它找到字符串,但它会丢弃它并且不会将其添加到最终结果中。注意不要在它周围添加一对括号,因为它会捕获它并使其成为最终匹配的一部分。
答案 1 :(得分:0)
如果您的工具支持环视:
(?<=Case )\d+(?= - New Comment Added)
整场比赛是你的案件编号。如果您不需要(?= - New Comment Added)
来跟踪该号码,则可以删除" - New Comment Added"
。