Відмінності між версіями «Метод Exec»
Стойка (обговорення • внесок) (Створена сторінка: '''Метод exec''' Синтаксис: регвир.exec (рядок) Аргументи: рядок - будь-яке рядковий вираз Резуль…) |
Стойка (обговорення • внесок) |
||
(не показано 11 проміжних версій цього учасника) | |||
Рядок 1: | Рядок 1: | ||
− | + | Синтаксис: регвир.exec (рядок)<br> | |
− | + | Аргументи: рядок - будь-який рядковий вираз<br> | |
− | Синтаксис: регвир.exec (рядок) | + | Результат: масив результатів або null<br> |
− | Аргументи: рядок - будь- | + | |
− | Результат: масив результатів або null | + | |
Метод exec виконує зіставлення рядки зі зразком, заданим регвир. Якщо зіставлення зі зразком закінчилося невдачею, то повертається значення null. В іншому випадку результатом є масив підрядка, відповідних заданому зразку. У процесі зіставлення проводиться оновлення всіх властивостей об'єкта регвир (і тим самим всіх властивостей об'єкта RegExp). | Метод exec виконує зіставлення рядки зі зразком, заданим регвир. Якщо зіставлення зі зразком закінчилося невдачею, то повертається значення null. В іншому випадку результатом є масив підрядка, відповідних заданому зразку. У процесі зіставлення проводиться оновлення всіх властивостей об'єкта регвир (і тим самим всіх властивостей об'єкта RegExp). | ||
Рядок 9: | Рядок 7: | ||
Результуючий масив має наступні властивості: | Результуючий масив має наступні властивості: | ||
− | + | * властивість input містить вихідну рядок; | |
− | + | * властивість index містить позицію знайденої підрядка у вихідній рядку; | |
− | + | * властивість length одно n + 1, де n - кількість подвираженій регулярного виразу, укладених в круглі дужки; | |
− | + | * елемент 0 містить знайдену підрядок; | |
− | + | * елементи 1, ..., n містять підрядка, відповідні подвираженіям регулярного виразу в круглих дужках. | |
Приклад: наступний сценарій | Приклад: наступний сценарій | ||
+ | var arr = /(\d+)\.(\d+)\.(\d+)/.exec("Я народився 20.03.1998"); | ||
+ | document.write("Дата народження:", arr[0]); | ||
+ | document.write("День народження: ", arr[1]); | ||
+ | document.write("Місяць народження: ", arr[2]); | ||
+ | document.write("Рік народження: ", arr[3]); | ||
+ | виведе на екран браузера текст:<br> | ||
+ | Дата народження: 20.03.1998<br> | ||
+ | День народження: 20<br> | ||
+ | Місяць народження: 03<br> | ||
+ | Рік народження: 1998<br> | ||
+ | Включення до регулярний вираз опції глобального пошуку дозволяє багаторазово застосовувати цей метод до вихідної рядку для послідовного виділення всіх підрядка, відповідних даного зразка. Наприклад, наступний сценарій<br> | ||
+ | var re = /\d+/g; | ||
+ | var s = "123 abc 456 def 789 xyz"; | ||
+ | var result; | ||
+ | while (result = re.exec(s)) | ||
+ | document.write(result[0] + " "); | ||
+ | виведе на екран браузера рядок 123 456 789.<br> | ||
+ | '''Примітка.''' Пам'ятайте, що в подібних циклах не можна виконувати операції з регулярними виразами, оскільки вони змінюють статичні властивості об'єкта RegExp. | ||
+ | [[Регулярні вирази в JavaScript]] |
Поточна версія на 10:50, 13 травня 2010
Синтаксис: регвир.exec (рядок)
Аргументи: рядок - будь-який рядковий вираз
Результат: масив результатів або null
Метод exec виконує зіставлення рядки зі зразком, заданим регвир. Якщо зіставлення зі зразком закінчилося невдачею, то повертається значення null. В іншому випадку результатом є масив підрядка, відповідних заданому зразку. У процесі зіставлення проводиться оновлення всіх властивостей об'єкта регвир (і тим самим всіх властивостей об'єкта RegExp).
Результуючий масив має наступні властивості:
- властивість input містить вихідну рядок;
- властивість index містить позицію знайденої підрядка у вихідній рядку;
- властивість length одно n + 1, де n - кількість подвираженій регулярного виразу, укладених в круглі дужки;
- елемент 0 містить знайдену підрядок;
- елементи 1, ..., n містять підрядка, відповідні подвираженіям регулярного виразу в круглих дужках.
Приклад: наступний сценарій
var arr = /(\d+)\.(\d+)\.(\d+)/.exec("Я народився 20.03.1998"); document.write("Дата народження:", arr[0]); document.write("День народження: ", arr[1]); document.write("Місяць народження: ", arr[2]); document.write("Рік народження: ", arr[3]);
виведе на екран браузера текст:
Дата народження: 20.03.1998
День народження: 20
Місяць народження: 03
Рік народження: 1998
Включення до регулярний вираз опції глобального пошуку дозволяє багаторазово застосовувати цей метод до вихідної рядку для послідовного виділення всіх підрядка, відповідних даного зразка. Наприклад, наступний сценарій
var re = /\d+/g; var s = "123 abc 456 def 789 xyz"; var result; while (result = re.exec(s)) document.write(result[0] + " ");
виведе на екран браузера рядок 123 456 789.
Примітка. Пам'ятайте, що в подібних циклах не можна виконувати операції з регулярними виразами, оскільки вони змінюють статичні властивості об'єкта RegExp.
Регулярні вирази в JavaScript