8c1dea14

Использование Совпадений Подстрок в Скобках


Включение скобок в патэрн регулярного выражения вызывает запоминание соответствующего подсовпадения. Например, /a(b)c/ совпадает с символами 'abc' и запоминает 'b'. Чтобы вызвать эту подстроку в скобках, используйте Array-элементы [1], ..., [n].


Количество подстрок, заключённых в скобки, не ограничивается. Возвращаемый массив содержит все найденные совпадения. Следующие примеры иллюстрируют использование подстрок в скобках.


Пример 1.

В этом скрипте используется метод replace для изменения-переключения слов в строке. Для замещающего текста в скрипте используется $1 и $2 для обозначения первой строки и второй подстроки в скобках.


<SCRIPT LANGUAGE="JavaScript1.2">

re = /(\w+)\s(\w+)/;

str = "John Smith";

newstr = str.replace(re, "$2, $1");

document.write(newstr)

</SCRIPT>


Будет напечатано "Smith, John".

Пример 2.

Здесь RegExp.input устанавливается событием Change. В функции getInfo метод exec, вызываемый с использованием сокращённой нотации (), использует значение RegExp.input в качестве аргумента.


<HTML>

<SCRIPT LANGUAGE="JavaScript1.2">

function getInfo(){

a = /(\w+)\s(\d+)/();

   window.alert(a[1] + ", your age is " + a[2]);

}

</SCRIPT>

Enter your first name and your age, and then press Enter.

<FORM>

<INPUT TYPE="text" NAME="NameAge" onChange="getInfo(this);">

</FORM>

</HTML>





Содержание раздела