Как создать регулярное выражение, принимающее только специальную формулу?

Опубликовано: 23 Февраля, 2023

В этой статье вы поймете, как использовать регулярные выражения для принятия специальных формул. Здесь мы начнем с понимания того, как использовать регулярные выражения в 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