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

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

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

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

w+\s

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

d+

更多关于正则表达式 在这里

我们可以用以下两种方式构建正则表达式:

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

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

语法:

formula = operand operator operand

其中,

  • operand = [0-9]
  • operator = [ – + * % ^ / ]

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

digit (operand digit)*

这里是英文的翻译:

  • digit = [0-9]
  • operand = [ – + * % ^ / ]
  • 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

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

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

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

其中,

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

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

Javascript

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

输出:

true

示例 2: 让我们使用 JavaScript 在 test() 方法中实现表达式 4*5-3/2,包括 * 和 / 运算符。

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程