给定一个字符串
“这是我的大写测试网址(http://www.somedomain.com/some/Path)。这是我的小写测试网址(http://www.somedomain.com/some/path)”
我有一个可以找到网址的正则表达式:
\(http://www.somedomain.com/(.*?)\)
如果路径中包含大写字符,我可以修改它只返回url吗?
答案 0 :(得分:2)
你可以用一个积极的先行来检查大写字符:
(?=\S*[A-Z])\(http://www.somedomain.com/(.*?)\)
^^^^^^^^^^^^
它将确保字符串中至少有一个大写字符。
如果您想确保“检查”保留在括号内,您可以使用:
\((?=[^)\s]*[A-Z])http://www.somedomain.com/(.*?)\)