📜  正则表达式 js 模式标签 - Javascript (1)

📅  最后修改于: 2023-12-03 15:40:38.281000             🧑  作者: Mango

正则表达式 js 模式标签 - Javascript

正则表达式是匹配字符模式的强大工具,JS中的正则表达式对象在处理文本方面非常方便和高效,它们允许我们快速搜索和操作字符串。

正则表达式的基础

正则表达式是由一些普通字符(例如,字符 a 到 z)和一些特殊字符(称为元字符)组成的模式。

元字符:

. ^ $ * + ? = ! : | \ / ( ) [ ]

例如,正则表达式 /\bhello\b/ 匹配只包含单词 "hello" 的字符串。

使用正则表达式

JS中使用正则表达式需要通过 RegExp 对象或者直接使用正则表达式字面量来创建正则表达式对象。

创建正则表达式对象的方式:

//使用 RegExp 对象创建
var re = new RegExp("表达式", "模式");
//使用正则表达式字面量
var re = /表达式/模式;

正则表达式模式标志:

i:不区分大小写进行匹配。
g:查找所有匹配,而不是在找到第一个匹配后停止。
m:多行匹配模式。

正则表达式的方法

JS中正则表达式对象的方法:

exec():一个在字符串中执行查找匹配的RegExp方法,返回一个数组,如果未找到匹配,则返回 null。
test():一个在字符串中测试是否匹配的RegExp方法,返回 true 或 false。
```

字符串对象的方法:

match():用于匹配字符串中的字符。 search():返回字符串中第一个匹配项的索引位置(从0开始)。 replace():在字符串中查找匹配项,并替换该匹配项。 split():将字符串分割为字符串数组并返回。


#### 示例

```javascript
// 使用 RegExp 对象创建
var regExp1 = new RegExp("world", "g");
console.log(regExp1.test("HelloWorld"));    // true
console.log("HelloWorld".match(regExp1));  // [ 'World' ]

// 使用正则表达式字面量
var regExp2 = /world/g;
console.log(regExp2.test("HelloWorld"));    // true
console.log("HelloWorld".match(regExp2));  // [ 'World' ]

// 字符串对象的方法
console.log("JavaScript is fun".search(/fun/));  // 11
console.log("JavaScript is fun".match(/a/g));   // [ 'a' ]
console.log("JavaScript is fun".replace(/fun/, "awesome"));    // JavaScript is awesome
console.log("JavaScript is fun".split(/ /));   // [ 'JavaScript', 'is', 'fun' ]
JS 模式标签

JS中需要结合正则表达式和模式标签来使用,模式标签用于执行特定的匹配类型。

模式标签

模式标签|含义 ---|--- i|忽略大小写 g|全局匹配 m|多行匹配

示例

// 匹配全局
var str = "Visit Microsoft. Visit Microsoft again!";
var patt1 = /Microsoft/g;
var result = str.match(patt1);
console.log(result);    // [ 'Microsoft', 'Microsoft' ]

// 忽略大小写
var patt2 = /javascript/i;
console.log(patt2.test("Javascript"));   // true

// 多行匹配
var patt3 = /^Hello/im;
var str2 = "Hello world! Hello yvonne!";
console.log( str2.match(patt3) );     // [ 'Hello', 'Hello' ]

以上就是正则表达式 js 模式标签的介绍。希望你能够灵活运用正则表达式,轻松处理文本操作。