用正则表达式匹配内容里面包含id="media_1"、id="media_2"、id="media_3"这种形式的数据提取1、2、3出来
4个回答
展开全部
需要用两次正则表达式匹配:
第一次:使用正则表达式 id="media_[0-9]+" 得到 类似id="media_1"这样的数据
第二:使用正则表达式 [0-9]+匹配第一次得到的结果,然后得到1、2、3
第一次:使用正则表达式 id="media_[0-9]+" 得到 类似id="media_1"这样的数据
第二:使用正则表达式 [0-9]+匹配第一次得到的结果,然后得到1、2、3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一下是C#代码
你需要的正则表达式是
(?<=id=.media_)(\d+)(?=.、)
var text = richTextBox1.Text;
var matches = Regex.Matches(text, @"(?<=id=""media_)(\d+)(?=""、)");
foreach (Match match in matches)
{
var 你需要的数据 = match.Groups[1].Value;
}
你需要的正则表达式是
(?<=id=.media_)(\d+)(?=.、)
var text = richTextBox1.Text;
var matches = Regex.Matches(text, @"(?<=id=""media_)(\d+)(?=""、)");
foreach (Match match in matches)
{
var 你需要的数据 = match.Groups[1].Value;
}
追问
能帮我解释下你写的这个正则的含义吗,让我学习下?
追答
(?<=id=.media_)(\d+)(?=.、)
其中
(?<=....) 则个结构表示要匹配...的内容,但是只匹配,不捕获,意思就是例如一个字符串为12356789,其中(?<=567) 表示定位到567这个位置,然后找567后面的文本是否匹配你接下来要写的正则表达式
因此(?<=id=.media_)的意思就是定位到id="media_这个位置,然后看其后面的文本是不是(\d+)即,是不是由一个或者多个数字组成,
如果是的话那么要看数字后面跟的是否是(?=.、)
其中(?=....)的意思也是只匹配,不捕获,他是看...以前的内容,也就是说如果一个字符串为123456789那么(?=567)的意思是看找到567这个位置,然后看其前面的内容是否是(\d+)即,是不是由一个或者多个数字组成
综上(?<=id=.media_)(\d+)(?=.、)中(?<=...)与(?=...)结构限定了(\d+)的前后
对应你的文本也就是id="media_1"中数字1的前后
明白了吗 还有一点就是我的正则表达式应该换成
var matches = Regex.Matches(text, @"(?<=id=""media_)(\d+)(?="")");
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Javascript正则表达式/"token-id": "([^\"]*?)"/g 取第一捕获组的数据
我给你一个Javascript语言的例子,你看看吧
我给你一个Javascript语言的例子,你看看吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
java代码
正则表达式: id=\"media_(\\d*)\"
public void testMatches() {
String str="id=\"media_1\"、id=\"media_2\"、id=\"media_3\"";
Matcher mat = Pattern.compile("id=\"media_(\\d*)\"").matcher(str);
while(mat.find()){
String matStr = mat.group(1);
System.out.println(matStr);
}
}
试试,看是不是你要的效果
正则表达式: id=\"media_(\\d*)\"
public void testMatches() {
String str="id=\"media_1\"、id=\"media_2\"、id=\"media_3\"";
Matcher mat = Pattern.compile("id=\"media_(\\d*)\"").matcher(str);
while(mat.find()){
String matStr = mat.group(1);
System.out.println(matStr);
}
}
试试,看是不是你要的效果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询