正则表达式 - 如何创建一个正则表达式来检查两个不同长度的字符串,但一个取决于另一个

时间:2013-05-01 16:55:00

标签: regex

如果有一个像这样的字符串“abcdefghijklm.com 80 /abcdefgh.php”,其中域名后跟http端口,子字符串是域名的前8位数字,后跟“.php”(子字符串) -string字符有时会更改为6 OR 8 OR 5,但是所有这些长度将包含相同的域名字符并以.php结尾。      像这样的更多例子,

xyzklmopqr.com 80 xyzklm.php  
lkjhgfdsaq.com 80 lkjhg.php  
mjuyhnbgtr.com 80 mjuyhnbg.php

3 个答案:

答案 0 :(得分:2)

这样可以轻松更改数字

(\w{5,6}|\w{8})\w*\.com 80 \1\.php

这比其他人的解决方案更简单

答案 1 :(得分:1)

以下内容应该有效:

(((\w{5})\w?)\w{2}?)\w*\.com 80 (\1|\2|\3)\.php

请注意,这适用于您在问题(5,6和8)中提到的特定长度,而不适用于任何通用长度子字符串。

示例:http://www.rubular.com/r/NwCcihN6o6

答案 2 :(得分:0)

我会尝试([a-z]{6})\S* 80 \1\.php

这适用于您的6个案例,您可以根据需要更改其他案例的数量。