我在使用 C 中的 regex.h 库设置正则表达式来匹配 URL 时遇到了一些困难。我有一个有效的 IP 正则表达式,我希望将其转换为匹配简单的字符串,例如 www.alphanumerictext12.com|edu|org
。我的正则表达式定义本身的语法有问题。
下面是有效的 IPREGEX 代码和我尝试的 URL 正则表达式。
#define IPEXPR "([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3})"
#define URLEXPR "(www)\\.((?:[a-z][a-z]*[0-9]+[a-z0-9]*))\\.(com|edu|org)"
regex_t regex;
if(regcomp(®ex, IPEXPR, REG_EXTENDED) != 0)
return 0;
if(regexec(®ex, inputURL, 0, NULL, 0) != 0)
return 0;
最佳答案
尝试:
"www\\.[a-z]+[a-z0-9]*\\.(com|edu|org)"
我删除了[0-9]+
并替换[a-z][a-z]*
与 [a-z]+
.
关于c - 这个匹配 URL 的正则表达式有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1734559/