Regex获取两个字符串之间的字符串,忽略开始和结束
使用Regex获取两个字符串之间的字符串,忽略开始和结束,regex,vb.net,Regex,Vb.net,使用regex获取两个字符串之间的字符串,但无法确定如何忽略开始字符串和结束字符串 "imgurl=(.*?)&" 除了我需要忽略imgurl=和&之外,这个表达式工作正常 通过匹配以下字符串: imgurl=mytext& 我得到的结果是 imgurl=mytext& 一定是这样 mytext 您尚未指定语言,但请确保正在检查相应的匹配组 >>> msg = "imgurl=mytext&" >&
regex
获取两个字符串之间的字符串,但无法确定如何忽略开始字符串和结束字符串
"imgurl=(.*?)&"
除了我需要忽略imgurl=
和&
之外,这个表达式工作正常
通过匹配以下字符串:
imgurl=mytext&
我得到的结果是
imgurl=mytext&
一定是这样
mytext
您尚未指定语言,但请确保正在检查相应的匹配组
>>> msg = "imgurl=mytext&"
>>> import re
>>> foo = re.search("imgurl=(.*?)&", msg)
>>> foo.group(1)
'mytext'
>>> foo.group(0)
'imgurl=mytext&'
显然,第一组是你要找的
编辑
对于vb.net代码
Dim regex As Regex = New Regex("imgurl=(.*?)&")
Dim match As Match = regex.Match("imgurl=mytext&")
假设您获得了匹配,您需要来自
match.Groups(1)的值。mytext部分将位于捕获的组1中(由正则表达式中的第一组括号表示)。您对正则表达式使用的语言/框架是什么?通常\1或$1指的是与第一组括号匹配的任何内容。告诉我们您使用的编程语言在perl中可能会有所帮助。在匹配php中类似的内容后,您可以使用$1,您必须在regexp_匹配的末尾添加另一个变量,并使用[1]该变量的索引,以查看正确的result@mathematical.coffee我将VB.NET用于未来的读者:如果文本跨越多行(包含换行符),则在编译Regex对象时需要使用RegexOptions.Singleline
标志。