我的字符串看起来像这样:
http://mywebsite.com/1234
http://mywebsite.com/foo
http://mywebsite.com/bar
http://google.com
我想使用正则表达式只抓取前面带有“http://mywebsite.com/”的字符串,并且只包含之后的字母(不是数字)。所以在我的例子中,以下字符串是有效的:
http://mywebsite.com/foo
http://mywebsite.com/bar
到目前为止,我有一个看起来像这样的正则表达式:
"http://mywebsite.com/[a-zA-Z]+"
但我没有得到任何结果
答案 0 :(得分:1)
你只需要使用反斜杠转义斜杠和点,但你也应该在正则表达式的末尾使用$
以确保匹配后没有数字(或其他不允许的字符):
http:\/\/mywebsite\.com\/[a-zA-Z]+$
这确实假设你让每个字符串在输入中占据它自己的行,或者在你测试的每个字符串之后没有任何其他信息。
To"抓住"最后一次斜杠后面的字符串,使用一个捕获组:
http:\/\/mywebsite\.com\/([a-zA-Z]+)$
然后使用您的编程语言,您可以访问每个匹配项中存储在该组中的值。或者,如果您的正则表达式支持您可以使用的\K
序列:
http:\/\/mywebsite\.com\/\K[a-zA-Z]+$
完全避免捕获组。