![正则表达式将捕获包含 2 个特定单词的字符串](https://linux22.com/image/1062631/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%B0%86%E6%8D%95%E8%8E%B7%E5%8C%85%E5%90%AB%202%20%E4%B8%AA%E7%89%B9%E5%AE%9A%E5%8D%95%E8%AF%8D%E7%9A%84%E5%AD%97%E7%AC%A6%E4%B8%B2.png)
我正在尝试想出一个可以捕获该字符串的正则表达式:
must-c046-was001-ix.1.oca.best.net
要捕获的字符串始终包含must
和best
(始终按此顺序,must
在 之前best
),但它们之间的单词和数字可能会有所不同。
我需要捕获所有符合条件的字符串;包括之后的字符best
。
答案1
要捕获的字符串:
must-c046-was001-ix.1.oca.best.net
正则表达式(PCRE 形式):
/must-[a-z0-9-.]+best[a-z.]+/
这正则表达式解释器在这里将有助于破译它。
它会找到开头为“must-”且后跟至少一个小写字母、数字、破折号或点的字符串;然后是“best”,后跟至少一个字母或点的字符串。我通常会在末尾使用“g”选项,但如果您使用的某些系统不起作用,例如韩国化学工业公司不包括该选项,但包括例如“i”(作为斜杠后的最后一个字符,使匹配不区分大小写。