正则表达式 分组内容 引用无效???

问题描述

需要匹配的字符串:<pstyle="MARGIN:0cm0cm0pt"><spanstyle="FONT-SIZE:24px"><spanstyle="width:100px">???</span></span></p>采用的正则表达式:1:<[^>]*?[^>]*?style=(")[^1]*?(?=width)[^1]*?1[^>]*?>结果:<pstyle="MARGIN:0cm0cm0pt"><spanstyle="FONT-SIZE:24px"><spanstyle="width:100px">2:<[^>]*?[^>]*?style=(")[^"]*?(?=width)[^1]*?1[^>]*?>结果:<spanstyle="width:100px">1分组好像没有起到作用很奇怪,请各位高手指点

解决方案

解决方案二:
规则呢只给一个样本,谁知道你到底要按什么规则匹配比如<pstyle="MARGIN:0cm0cm0pt">这个是要完全匹配,还是带style就行,前面是否必须是<p,后面0cm里的0是否可以变成1cm?这些都不知道,谈什么正则
解决方案三:
<pstyle="MARGIN:0cm0cm0pt"><spanstyle="FONT-SIZE:24px"><spanstyle="width:100px">???</span></span></p>如果只是???的部分可以变,其他的部分都是限定的,必须完全匹配的整个都写死在正则表达式里不就好了,加那么多通配符干啥
解决方案四:
看不明白你想匹配什么内容
解决方案五:
怎么个分组,想实现什么?能说清楚些不?
解决方案六:
你想匹配什么呢?
解决方案七:
可能我没有表述清楚:再举个例子:原字符串:<pstyle="MARGIN:0cm0cm0pt"><spanstyle="FONT-SIZE:24px"><spanstyle="width:100px">???</span></span></p><pstyle='MARGIN:0cm0cm0pt'><spanstyle='FONT-SIZE:24px'><spanstyle='width:100px'>???</span></span></p>需要匹配<spanstyle="width:100px">和<spanstyle='width:100px'>采用的正则表达式:<[^>]*?[^>]*?style=(['"])[^1]*?(?=width)width[^1]*?1[^>]*?>?结果:<pstyle="MARGIN:0cm0cm0pt"><spanstyle="FONT-SIZE:24px"><spanstyle="width:100px">和<pstyle='MARGIN:0cm0cm0pt'><spanstyle='FONT-SIZE:24px'><spanstyle='width:100px'>这个怎么弄?其实也想搞清楚原来例子中的1为何不起作用!!
解决方案八:
不好意思:采用的正则表达式:<[^>]*?[^>]*?style=(['"])[^1]*?(?=width)width[^1]*?1[^>]*?>原多了个?。
解决方案九:
strings=@"<pstyle=""MARGIN:0cm0cm0pt""><spanstyle=""FONT-SIZE:24px""><spanstyle=""width:100px"">???</span></span></p><pstyle='MARGIN:0cm0cm0pt'><spanstyle='FONT-SIZE:24px'><spanstyle='width:100px'>???</span></span></p>";MatchCollectionmc=Regex.Matches(s,@"(?i)<spansstyle=(['""])width:d+px1>");foreach(Matchminmc){Console.WriteLine(m.Value);}

时间: 2024-09-27 06:46:22

正则表达式 分组内容 引用无效???的相关文章

JS正则表达式获取分组内容的方法详解_javascript技巧

支持多次匹配的方式: 复制代码 代码如下: var testStr = "now test001 test002";   var re = /test(\d+)/ig;    var r = "";   while(r = re.exec(testStr)) {       alert(r[0] + "  " + r[1]);   }  此外也可以用testStr.match(re),但是这样的话就不能有g的选项,而且只能得到第一个匹配. 另外备

浅谈JavaScript正则表达式分组匹配_javascript技巧

语法 元字符:(pattern) 作用:用于反复匹配的分组 属性$1~$9 如果它(们)存在,用于得到对应分组中匹配到的子串 \1或$1 用于匹配第一个分组中的内容 \2或$2 用于匹配第一个分组中的内容 ... \9或$9 用于匹配第一个分组中的内容 用法示例 var reg = /(A+)((B|C|D)+)(E+)/gi;//该正则表达式有4个分组 //对应关系 //RegExp.$1 <-> (A+) //RegExp.$2 <-> ((B|C|D)+) //RegExp.

正则表达式分组实例详解

正则表达式分组: 如果想匹配3个数字,正则表达式可以用如下写法: \d{3} 以上代码使用重复量词可以匹配3位数字. 但是在实际应用中,往往需要重复多个字符,例如我想重复ab两个字符,使用以下代码就不合适了,代码如下: ab{3} 以上正则表达式只能够重复3次b. 为了实现重复多个字符可以使用小括号来指定子表达式或者说分组来实现此功能,例如: (ab){3} 上面的正则就可以重复ab了. 所谓的分组就是使用小括号将一些项包括起来,使其成为独立的逻辑域,那么就可以像处理一个独立单元一样去处理小括号

PHP正则表达式的逆向引用与子模式分析

正则表达式一个最重要的特性就是将匹配成功的模式的某部分进行存储供以后使用这一能力. 对一个正则表达式模式或部分模式两边添加圆括号()可以把这部分表达式存储到一个临时缓冲区中. 所捕获的每个子匹配都按照在正则表达式模式中从左至右所遇到的内容按顺序存储. 存储子匹配的缓冲区编号从1开始,连续编号至最大99个子表达式. 每个缓冲区都可以使用'\n'(或用'$n')访问,其中n为1至99的阿拉伯数字,用来按顺序标识特定缓冲区(子表达式). 例1:最简单最有用的例子是确定文字中连续出现两个相同单词的位置

深入理解JS正则表达式---分组_基础知识

深入理解JS正则表达式---分组 之前写了一篇关于正则新手入门的文章,本以为对正则表达式相对比较了解 但是今天我又遇到了一个坑,可能是自己不够细心的原因吧,今天就着重和大家分享一下javascript正则表达式中的分组.如果你对JS正则表达式不够理解 可以点击这里了解更多. 分组在正则中用的还是比较广的,我所理解的分组 就是一对括号() ,每一对括号 就代表了一个分组,分组可以分为: •捕获性分组 •非捕获性分组 捕获性分组 捕获性分组会在 比如 match exec这样的函数中以第二项,第三项

PHP正则表达式的逆向引用与子模式分析_正则表达式

正则表达式一个最重要的特性就是将匹配成功的模式的某部分进行存储供以后使用这一能力. 对一个正则表达式模式或部分模式两边添加圆括号()可以把这部分表达式存储到一个临时缓冲区中. 所捕获的每个子匹配都按照在正则表达式模式中从左至右所遇到的内容按顺序存储. 存储子匹配的缓冲区编号从1开始,连续编号至最大99个子表达式. 每个缓冲区都可以使用'\n'(或用'$n')访问,其中n为1至99的阿拉伯数字,用来按顺序标识特定缓冲区(子表达式). 例1:最简单最有用的例子是确定文字中连续出现两个相同单词的位置

AxMapXview引用无效怎么办?

问题描述 AxMapXview引用无效怎么办? 打开新的已做好的项目,很多引用无效,在哪里添加引用?如何搜索应该添加什么引用?在哪里找? 解决方案 mapgis的吧http://www.doc88.com/p-894241067141.html 解决方案二: 检查下arcgis有没有装好,在项目-添加引用-com引用中重新引用下看看

Java 正则表达式 分组

问题描述 Java 正则表达式 分组 ((A)(B(C)))分组 第一组为((A)(B(C))) 第二组为A 第三组为((B(C)) 第四组为(C) 问题: 为什么第二组是A不是(A),A时什么? 解决方案 你在哪里看到的A 应该是A 解决方案二: 帮助? ? ? import?java.util.*;import?java.util.regex.Matcher;import?java.util.regex.Pattern;?public?class?Fenzhu?...{?????p.....

php正则表达式取得内容所有链接的方法_正则表达式

本文实例讲述了php正则表达式取得内容所有链接的方法.分享给大家供大家参考.具体如下: 这里提供二款关于php正则链接的方法,他们可以取得内容所有链接并且保存到一个数组,当然也可以把链接全部替换. 方法一,代码如下: 复制代码 代码如下: function get_all_url($code){          preg_match_all('/<as+href=["|']?([^>"' ]+)["|']?s*[^>]*>([^>]+)<