Hallo,
/.../g /aus/g findet "aus" so oft wie es in dem gesamten zu durchsuchenden Bereich vorkommt. Die Fundstellen werden intern in einem Array gespeichert
Wie war das eigentlich mit Multiline Mode? Ist dieses Suchmuster auch in der Lage Zeilenumbrüche zu ignorieren? Meiner Meinung nach sollte da nicht nur "g", sondern sogar "mg" stehen.
Nein. Das Suchmuster /%E4/ muss keine Zeilenumbrüche ignorieren. Es beinhaltet ja keine, sondern sucht nur nach der Zeichenfolge %E4.
Ich hab's jedenfalls nicht getan - und wäre wie Du froh, Genaueres über die Auswirkung des Modifiers m zu wissen.
Er tut das, was s.oliver scheibt. Er sorgt dafür, dass man in Strings, die Zeilenumbrüche enthalten, mit ^(Zeilenanfang) und $(Zeilenende) nach einzelnen Zeilen suchen kann.
Beispiel:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Titel</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript">
<!--
window.onload = function() {
var myMonitor = document.getElementById("monitor");
var findw = "Das \nist \nein\n Test. So \nein\n Quatsch!"
//var findw = document.getElementsByTagName("P")[0].innerHTML;
//var findw = document.getElementsByTagName("P")[0].firstChild.nodeValue;
myMonitor.value = findw;
//Wir suchen ein allein in der Zeile stehendes "ein"
alert(findw.match(/^ein$/mg));
};
//-->
</script>
</head>
<body>
<textarea rows="10" cols="50" id="monitor"></textarea>
<p>Das
ist
ein
Test. So
ein
Quatsch!</p>
</body>
</html>
Das Problem ist, dass im IE weder in [ElementNode].innerHTML noch in [TextNode].nodeValue zeilenumbrüche enthalten sind.
viele Grüße
Axel