У меня есть это наивное регулярное выражение "< ([\ s] | [^ <]) +? > " (исключая кавычки). Кажется так но это действительно зло, когда оно работает против текста ниже HTML. Он отправляет механизм регулярного выражения Java в бесконечный цикл.
У меня есть другое регулярное выражение ( "<. +? > " ), которое делает что-то одно и то же, но оно ничего не убивает. Вы знаете, почему это происходит?
<script language="JavaScript" type="text/javascript">
var numDivs, layerName;
layerName = "lnavLayer";
catLinkName = "category";
numDivs = 2;
function toggleLayer(layerID){
if (!(navigator.appName == "Netscape" && navigator.appVersion.substr(0, 1) < 5)){
thisLayer = document.getElementById(layerName + layerID);
categoryLink = document.getElementById(catLinkName + layerID);
closeThem();
if (thisLayer.className == 'subnavDefault'){
thisLayer.className = 'subnavToggled';
categoryLink.className = 'leftnavLinkSelectedSection';
}
}
}
function closeThem(){
for(x = 0; x < numDivs; x++){
theLayer = document.getElementById(layerName + (x
+ 1));
thecategoryLink = document.getElementById(catLinkName + (x + 1));
theLayer.className = 'subnavDefault';
thecategoryLink.className = 'leftnavLink';
}
} var flag = 0; var lastClicked = 0
//-->
</script>
он даже продолжает цикл с онлайн-инструментом Java regex (например, www.fileformat.info/tool/regex.htm) или утилитой вроде RegexBuddy.