确保匹配的字符串包含至少一个大写字符

时间:2014-01-31 14:41:51

标签: regex

给定一个字符串

“这是我的大写测试网址(http://www.somedomain.com/some/Path)。这是我的小写测试网址(http://www.somedomain.com/some/path)”

我有一个可以找到网址的正则表达式:

\(http://www.somedomain.com/(.*?)\)

如果路径中包含大写字符,我可以修改它只返回url吗?

1 个答案:

答案 0 :(得分:2)

你可以用一个积极的先行来检查大写字符:

(?=\S*[A-Z])\(http://www.somedomain.com/(.*?)\)
^^^^^^^^^^^^

它将确保字符串中至少有一个大写字符。

regex101 demo


如果您想确保“检查”保留在括号内,您可以使用:

\((?=[^)\s]*[A-Z])http://www.somedomain.com/(.*?)\)

regex101 demo