Как создать регулярное выражение, принимающее только специальную формулу?
В этой статье вы поймете, как использовать регулярные выражения для принятия специальных формул. Здесь мы начнем с понимания того, как использовать регулярные выражения в Javascript, а позже мы поймем, как создать шаблон для специальных формул. Регулярные выражения — это шаблоны, используемые для сопоставления комбинаций символов в строках.
Пример 1: Это выражение принимает слова и пробелы.
w+s
Пример 2: Это выражение принимает цифры длины 1 или более.
d+
Подробнее о регулярных выражениях здесь .
Мы можем построить регулярное выражение одним из двух способов:
- Используя литерал регулярного выражения, который состоит из шаблона, заключенного между косыми чертами, следующим образом:
const re = /a+b/;
- Или вызов функции-конструктора объекта RegExp следующим образом:
const re = new RegExp("a+b");
Регулярное выражение для специальной формулы: специальная формула состоит из операндов и операторов.
Синтаксис:
formula = operand operator operand
куда,
- операнд = [0-9]
- оператор = [ – + * % ^ / ]
Общее регулярное выражение для этого выглядит так:
digit (operand digit)*
куда,
- цифра = [0-9]
- операнд = [ – + * % ^ / ]
- x* = 0 или более экземпляров
Мы будем использовать Javascript RegExp, классы символов и квантификаторы для указания формулы. Давайте сначала разберемся с ними вкратце.
1. Javascript RegExp: это тип данных в javascript, используемый для создания регулярных выражений.
Синтаксис:
var RE = /pattern/flags
куда,
- шаблон — это выражение, которому нужно соответствовать
- флаги: g = глобальный регистр, i = нечувствительный к регистру, m = многострочный и т. д.
2. Квантификатор: указывает количество совпадающих символов.
Синтаксис:
n+ = one or more n* = zero or more
3. Классы символов: они указывают типы символов, такие как цифры или буквы.
Синтаксис:
d : digit D : non-digit w : alphabet W : non-alphabet
Шаги по созданию регулярного выражения принимают только специальную формулу
- Создайте новый экземпляр регулярного выражения с шаблоном.
- Добавьте шаблон, используя классы символов и квантификаторы.
- Протестируйте, используя реализацию метода test() в Javascript.
Чтобы принять формулу, например , 4-3+2+1, вы можете использовать выражение ^d+([+-]d+)*$ в Javascript.
куда,
- ^: соответствует началу ввода.
- д: цифра.
- x+: Соответствует предыдущему элементу «x» 1 или более раз.
- $: соответствует окончанию ввода.
- [ ]: набор допустимых символов. Допустимыми символами являются такие операторы, как плюс, минус и т. д.
Пример 1: Давайте реализуем выражение 4-3+2+1 в javascript, используя метод test() .
Javascript
<script> const re = /^d+([+-]d+)*$/g; console.log(re.test( "4-3+2+1" )); </script> |
Выход:
true
Пример 2. Давайте реализуем выражение 4*5-3/2 в javascript, используя метод test() , включив операторы * и /.
Javascript
<script> const re = /^d+(?:[-+*/^]d+)*$/g; console.log(re.test( "4*5-3/2" )); </script> |
Выход:
true
Пример 3: Неверное совпадение для примера 1
Javascript
<script> const re = /^d+([+-]d+)*$/g; console.log(re.test( "4-3*1/2" )); </script> |
Выход:
false