【发布时间】:2010-09-22 06:34:48
【问题描述】:
我有这个天真的正则表达式 "" (不包括引号)。好像是这样 直截了当,但当它与下面的 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 正则表达式工具(例如 www.fileformat.info/tool/regex.htm)或类似 RegexBuddy 的实用程序进行循环。
【问题讨论】: