是否有可能找到任何具有属性声明两次的标签?更具体地说,我想浏览html文档并查找任何具有class =“”的标记两次。正则表达式:找到有两次属性的html标签?
所以一些类似于:
<textarea class='something' id='nomatter' name='nomatter' class='different'>
谢谢您的时间和代价!
是否有可能找到任何具有属性声明两次的标签?更具体地说,我想浏览html文档并查找任何具有class =“”的标记两次。正则表达式:找到有两次属性的html标签?
所以一些类似于:
<textarea class='something' id='nomatter' name='nomatter' class='different'>
谢谢您的时间和代价!
我想这取决于你正在使用正则表达式的上下文。你是在文本编辑器,还是PHP或其他?
此外,你只是发现手动调整它们还是有更换涉及?
一些正则表达式引擎允许您在搜索字符串中使用捕获的组。
你可能会做这样的事情,只要找到他们:
<.+?\s([a-zA-Z]+?)='[a-zA-z-]+?'.*?\s\1='[a-zA-Z-]+?'.*?>
这\1
在那里被引用在起点附近,括号中的第一个(也是唯一一个)拍摄组。
在一个不相关的说明,我认为这是奇怪的,你正在使用你的HTML属性单引号。
是的,使用Netbeans编辑php/html。你的解决方案没有在那里工作,我猜它现在可以使用捕获的组了吗? – Ryan
#!/usr/bin/perl
use strict;
use warnings;
my $string = "<textarea class='something' id='nomatter' name='nomatter' class='different'>";
my @matches = ($string =~ m/<.+?class='([a-zA-Z]+?)'.*class='([a-zA-Z-]+?)'/g);
if (scalar @matches > 1) { print "There is two class attributes in this line!\n"; }
你用什么语言?你想用这个属性做什么? –
使用Netbeans编辑php/html文件。我只是想找到现在的双班。 – Ryan