百科狗-知识改变命运!
--

正则表达式匹配换行符

梵高1年前 (2023-11-21)阅读数 28#技术干货
文章标签表示

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

正则表达式是一种用于字符串匹配的语法,可以匹配各种形式的文本,包括换行符和空格等特殊字符。在正则表达式中,换行符表示为 "\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']

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)