是否有可能找到任何具有屬性聲明兩次的標籤?更具體地說,我想瀏覽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