千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 正则表达式匹配换行符

正则表达式匹配换行符

来源:千锋教育
发布人:xqq
时间: 2023-11-21 03:42:39 1700509359

一、正则表达式匹配换行符和空格

正则表达式是一种用于字符串匹配的语法,可以匹配各种形式的文本,包括换行符和空格等特殊字符。在正则表达式中,换行符表示为 "\n",而空格则表示为 "\s"。

比如,要匹配一个字符串中所有的换行符和空格,可以使用如下的正则表达式:

const regex = /[\n\s]+g;
const str = 'hello world\n你好 世界';
const matches = str.match(regex);
console.log(matches);
// Output: [' ', '\n', ' ', ' ']

上面的代码中,使用了一个字符组("[ ]")来匹配 "\n" 和 "\s",加上 "+" 表示匹配一个或多个这样的字符,最后使用 "g" 修饰符表示全局匹配。

二、正则表达式换行符

在正则表达式中,换行符有不同的表示方式。除了上面提到的 "\n" 之外,还可以使用 "\r" 和 "\r\n" 来表示换行符。

比如,要匹配一个字符串中所有的换行符,可以使用如下的正则表达式:

const regex = /[\r\n]+g;
const str = 'hello\nworld\r\n你好\r世界';
const matches = str.match(regex);
console.log(matches);
// Output: ['\n', '\r\n', '\r']

上面的代码中,使用了一个字符组来匹配 "\r" 和 "\n",加上 "+" 表示匹配一个或多个这样的字符。

三、正则表达式匹配指定字符串

正则表达式不仅可以匹配特定的字符,还可以匹配指定的字符串。比如,要匹配一个字符串中所有以 "http" 开头的 URL,可以使用如下的正则表达式:

const regex = /(http|https):\/\/[^\s]*/g;
const str = 'Visit our website at https://www.example.com';
const matches = str.match(regex);
console.log(matches);
// Output: ['https://www.example.com']

上面的代码中,使用了一个字符组来匹配 "http" 和 "https",加上 ":" 和 "//" 表示匹配 URL 协议和路径,最后使用 "[^\s]*" 表示匹配任意非空白字符,直到空格或行尾。

四、正则表达式匹配字符串

除了匹配特定的字符和字符串之外,正则表达式还可以匹配整个字符串。比如,要匹配一个字符串是否符合邮件地址的格式,可以使用如下的正则表达式:

const regex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
const email = 'example@example.com';
const isValid = regex.test(email);
console.log(isValid);
// Output: true

上面的代码中,使用了 "^" 和 "$" 分别表示字符串的开头和结尾,使用了 "+" 和 "\." 表示匹配字符和点号,使用了 "{2,}" 表示匹配至少两个字符,这样可以有效地判断一个字符串是否符合邮件地址的格式。

五、正则表达式匹配多行

正则表达式默认只匹配单行文本,即不会跨行匹配。如果需要匹配多行文本,可以使用 "m" 修饰符。

比如,要匹配一个字符串中所有以 "#" 开头的行,可以使用如下的正则表达式:

const regex = /^#.*$/gm;
const text = '# This is a header\n\n# This is another header\n\nThis is some text';
const matches = text.match(regex);
console.log(matches);
// Output: ['# This is a header', '# This is another header']

上面的代码中,使用了 "^" 和 "$" 分别表示行首和行尾,加上 "m" 修饰符表示匹配多行文本,最后使用 ".*" 表示匹配任意字符。

六、正则表达式匹配回车换行

在 Windows 系统中,回车换行通常用 "\r\n" 表示,而在 Unix 或 Linux 系统中,只用 "\n" 表示。为了匹配不同类型的回车换行,可以使用如下的正则表达式:

const regex = /[\r\n]+g;
const str = 'hello\nworld\r\n你好\r世界';
const matches = str.match(regex);
console.log(matches);
// Output: ['\n', '\r\n', '\r']

上面的代码中,使用了字符组来匹配 "\r" 和 "\n",加上 "+" 表示匹配一个或多个这样的字符。

七、正则表达式匹配除了换行符

有时候需要匹配除了换行符之外的所有字符,可以使用如下的正则表达式:

const regex = /[^\r\n]+;
const str = 'hello\nworld\r\n你好\r世界';
const matches = str.match(regex);
console.log(matches);
// Output: 'hello'

上面的代码中,使用了 "^" 表示匹配除了换行符之外的任意字符。

八、正则表达式换行符怎么表示

在正则表达式中,换行符可以用 "\n"、"\r" 或 "\r\n" 表示。

九、换行符的正则表达式

换行符的正则表达式可以使用 "/[\n\r]/" 或 "/\r?\n/" 表示。

十、正则表达式过长怎么换行

如果正则表达式太长,可以使用反斜线 "\" 换行,实现代码的可读性。

const regex = /([a-z]+)[\r\n]/\
              ([0-9]+)/;
const str = 'hello\n123';
const matches = str.match(regex);
console.log(matches);
// Output: ['hello\n123', 'hello', '123']

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取

上一篇

mac80211详解

下一篇

Gradle打包详解
相关推荐HOT