Регулярки в Javascript. Кто работал?
188 сообщений
#17 лет назад
Здравствуйте, ребята.Помогите плизз с кодом на Javascript. Как сделать поиск соответсвия шаблону, с указанием сколько раз вошел шаблон и в какой позиции.
Есть вот это
<script>
function LexicAn()
{
var prixod=document.forms.elements.value;
//document.getElementById('text').innerHTML=prixod.bold();
//document.forms.elements.value="";
/*var reg=/a-q/g;
var arr=reg.exec(prixod);
alert(prixod+" "+arr);
for(var i=0;i<arr.length; i++)
{
document.getElementById('text').innerHTML=arr;
}*/
/*var str = "Miss$$issippi";
var pattern = /is./g;
var result = str.match(pattern);
if(result)
{
for(i = 0; i < result.length; i++)
{
alert("Sootvettstvie # " + (i+1) + ": " + result+" position "+result.index);
//document.getElementById('text').innerHTML+="Match #" + (i+1) + ": " + result+" number of match "+result.index+"<br />";
}
}
else {document.getElementById('text').innerHTML="No matches!"}*/
var place = "Mississippi";
var obj = /is./g;
result = obj.exec(place);
alert(result+" "+result.index );
//while((result = obj.exec(place)) != null) { alert("Found " + result + " at " + result.index);
}
</script>
Пока что, результатов 0. Искал в инете источники, именно в тему вывода позиции и количества вхождений мало.
У меня получалось что или показывает только одно вхождение, делаю цикл, не показывают позицию.
Посоветуйте, плиз.
400 сообщений
#17 лет назад
<script type="text/javascript">
var str = "Miss$$issippi";
var pattern = /is./g;
var matches = str.match(pattern);
var split = str.split(pattern);
var position = 0;
var positions = new Array();
for (var i = 0; i < matches.length; i++ ) {
position += split.length;
positions = position;
position += matches.length;
}
alert(positions);
alert(positions.length);
</script>