如何创建只接受特殊公式的正则表达式

如何创建只接受特殊公式的正则表达式

在本文中,您将了解如何使用正则表达式来接受特殊公式。我们将从理解在Javascript中使用正则表达式开始,并随后理解如何创建特殊公式的模式。正则表达式是用于匹配字符串中的字符组合的模式。

示例1: 此表达式接受单词和空格。

w+\s
HTML

示例2: 此表达式接受长度为1或更多位的数字。

d+
HTML

更多关于正则表达式的资料 在这里 .

我们可以通过以下两种方式之一构造正则表达式:

  • 使用正则表达式字面量,由斜杠包围的模式,如下所示:
const re = /a+b/;
HTML
  • 或者,调用RegExp对象的构造函数函数,如下所示:
const re = new RegExp('a+b');
HTML

特殊公式的正则表达式: 特殊公式由操作数和运算符组成。

语法:

formula = operand operator operand
HTML

其中,

  • 操作数 = [0-9]
  • 运算符 = [ – + * % ^ / ]

一般的正则表达式如下所示:

digit (operand digit)*
HTML

其中,

  • 数字 = [0-9]
  • 操作数 = [ – + * % ^ / ]
  • x* = 0或多个实例

我们将利用Javascript的RegExp、字符类和量词来指定这个公式。首先让我们简要了解它们。

1. Javascript RegExp: 这是Javascript中用于创建正则表达式的数据类型。

语法:

var RE = /pattern/flags
HTML

其中,

  • 模式是要匹配的表达式
  • 标志是g = 全局匹配,i = 不区分大小写,m = 多行等。

2. 量词: 它表示要匹配的字符数。

语法:

n+ = 一个或多个
n* = 零个或多个
HTML

3. 字符类: 表示字符的种类,如数字或字母等。

语法:

d : 数字
\D : 非数字
\w : 字母
\W : 非字母
HTML

创建只接受特殊公式的正则表达式的步骤

  • 创建一个带有模式的新正则表达式实例。
  • 使用字符类和量词添加模式。
  • 使用Javascript中的test()方法进行测试。

要接受一个公式,例如 4-3+2+1, 您可以在Javascript中使用表达式 ^\d+([+-]\d+)*$

其中,

  • ^: 匹配输入的开头。
  • \d: 数字。
  • x+: 匹配前面的项”x” 1次或多次。
  • $: 匹配输入的结尾。
  • [ ]: 有效字符集,有效字符是像加号、减号等的运算符。

示例1: 让我们使用 test() 方法在javascript中实现表达式 4-3+2+1

<script>
const re = /^\d+([+-]\d+)*$/g;
console.log(re.test("4-3+2+1"));
</script>
HTML

输出:

true
HTML

示例2: 让我们使用javascript中的 test() 方法来实现表达式45-3/2,其中包括和/运算符。

<script>
const re = /^\d+(?:[-+*/^]\d+)*$/g;
console.log(re.test("4*5-3/2"));
</script>
HTML

输出:

true
HTML

示例3: 无效的匹配示例1

<script>
const re = /^\d+([+-]\d+)*$/g;
console.log(re.test("4-3*1/2"));
</script>
HTML

输出:

falses
HTML

阅读更多:JavaScript 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册