正则表达式 - 组合正则表达式 - 字符串的开头和结尾

Regex - Combine regular expressions - Beginning and end of string

本文关键字:正则表达式 结尾 开头 字符串 组合      更新时间:2023-09-26

我有两个例子来说明我需要两种不同的场景:

1. 第一个:

如果我有这个简单的字符串:

var message = "Hello World";

我想要这个带有正则表达式的结果:

'Hello World'

我知道我能做到:

message.replace(/^/, "'").replace(/$/, "'");

的问题:我怎样才能用一个正则表达式来做到这一点。我的意思是,像这样的东西:(当然,这不起作用):

message.replace(/(^|$)/, "'");

2.第二个:

再次是简单的字符串:

var message = "Hello World";

我想要这个带有正则表达式的结果:

#Hola Mundo%

当然,我可以做到:

message.replace(/^/, "#").replace(/$/, "%");

还有同样的问题:我怎样才能用一个正则表达式来制作它?

我知道这是一个简单的问题,但很高兴得到答案。

执行所需操作的最合适方法是使用字符串连接。

如果你想学习正则表达式:


1. message.replace(/^|$/g, "'"); - 您需要使用 /g 执行全局搜索和替换

解释

  • ^ - 字符串的开头
  • | - 或
  • $ - 字符串结尾
  • /g - 执行全局搜索和替换

查看正则表达式演示

2. message.replace(/^[^]*$/, "#$&%")message.replace(/^['s'S]*$/, "#$&%")

解释

  • ^ - 字符串的开头
  • [^]* - 零个或多个任何字符(在 JS 中,[^] 表示并非没有)(这可以替换为 ['s'S]*/['w'W]*/['d'D]* 以匹配 BMP 平面中的任何字符)
  • $ - 字符串的结尾。

查看此正则表达式演示

替换模式中的$&是对整个匹配项的反向引用。 $1引用组 1,即第一个(...)捕获组值(如果在模式中定义),但如果您需要引用整个匹配项,则应使用$&构造。