Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Coldfusion regex不选择具有特定ID的href_Regex_Coldfusion_Html Parsing_Coldfusion 9 - Fatal编程技术网

Coldfusion regex不选择具有特定ID的href

Coldfusion regex不选择具有特定ID的href,regex,coldfusion,html-parsing,coldfusion-9,Regex,Coldfusion,Html Parsing,Coldfusion 9,我有一个HTML解析器来完成这项艰巨的工作,但我需要一个正则表达式来选择没有attribute id=“optout”的锚。这里是我当前的正则表达式,它选择所有具有href with http的锚。。。这很好,只需要忽略那些id为“optout”的锚,有什么想法吗? 谢谢 对于这项任务来说,Regex是一个错误的工具,鉴于您已经使用了一个HTML解析器,没有理由不继续使用它 下面是使用HTML解析器()完成此操作的简单方法: 下面是一种不易维护的regex方法: rematch( '(?i)&l

我有一个HTML解析器来完成这项艰巨的工作,但我需要一个正则表达式来选择没有attribute id=“optout”的锚。这里是我当前的正则表达式,它选择所有具有href with http的锚。。。这很好,只需要忽略那些id为“optout”的锚,有什么想法吗? 谢谢


对于这项任务来说,Regex是一个错误的工具,鉴于您已经使用了一个HTML解析器,没有理由不继续使用它

下面是使用HTML解析器()完成此操作的简单方法:

下面是一种不易维护的regex方法:

rematch( '(?i)<a\s*(?:(?!id\s*=\s*[''"]optout[''"])[^>])+>(?:[^<]+|<(?!/a>))+</a>' , Arguments.HtmlCode )

重新匹配(“(?i)])+>(?:[^“我有一个HTML解析器在做艰苦的工作”-然后继续使用它来完成简单的工作!我设置它的方式需要cf首先选择链接…:(那么你几乎可以肯定它的设置是错误的。HTML解析器是专门为这项任务设计的。Regex最初是为模式匹配而设计的,即使是现代的非规则Regex也不能很好地适应HTML解析的复杂性。
jsoup.parse( Arguments.HtmlCode ).select('a:not([id=optout])')
rematch( '(?i)<a\s*(?:(?!id\s*=\s*[''"]optout[''"])[^>])+>(?:[^<]+|<(?!/a>))+</a>' , Arguments.HtmlCode )