正则表达式匹配任何字符,包括换行符

2023-12-01

是否有正则表达式来匹配“包括换行符在内的所有字符”?

例如,在下面的正则表达式中,没有输出$2因为(.+?)匹配时不包括新行。

$string = "START Curabitur mollis, dolor ut rutrum consequat, arcu nisl ultrices diam, adipiscing aliquam ipsum metus id velit. Aenean vestibulum gravida felis, quis bibendum nisl euismod ut. 

Nunc at orci sed quam pharetra congue. Nulla a justo vitae diam eleifend dictum. Maecenas egestas ipsum elementum dui sollicitudin tempus. Donec bibendum cursus nisi, vitae convallis ante ornare a. Curabitur libero lorem, semper sit amet cursus at, cursus id purus. Cras varius metus eu diam vulputate vel elementum mauris tempor. 

Morbi tristique interdum libero, eu pulvinar elit fringilla vel. Curabitur fringilla bibendum urna, ullamcorper placerat quam fermentum id. Nunc aliquam, nunc sit amet bibendum lacinia, magna massa auctor enim, nec dictum sapien eros in arcu. 

Pellentesque viverra ullamcorper lectus, a facilisis ipsum tempus et. Nulla mi enim, interdum at imperdiet eget, bibendum nec END";

$string =~ /(START)(.+?)(END)/;

print $2;

如果您不想添加/s正则表达式修饰符(也许你仍然想要.为了在正则表达式中的其他地方保留其原始含义),您还可以使用字符类。一种可能性:

[\S\s]

不是空格或本身就是空格的字符。换句话说,任何角色。

您还可以在正则表达式的一小部分中本地更改修饰符,如下所示:

(?s:.)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式匹配任何字符,包括换行符 的相关文章

随机推荐

  • 我可以使用 android.preference 包执行数据库特定操作吗?

    我需要一个数据库 可以在其中存储数据并在需要时获取数据 这可以通过 android preference 包实现吗 我不想使用 sqlite 数据库 regards 根据共享偏好 Android 开发者教程 第 13 部分 作者 Sai G
  • 使用 Electron-packager 时,我们可以在没有安装 Node 的 Mac 上启动 Node 命令吗?

    当我使用电子打包器打包电子应用程序时 该应用程序生成一个使用 node 命令的子进程 现在 如果我尝试在未安装节点的系统中启动我的应用程序 该应用程序可以运行吗 我一直在尝试实现这一目标并面临各种问题 电子社区建议我使用 fork 方法 s
  • avcodec YUV 转 RGB

    我正在尝试使用 libswscale 将 YUV 帧转换为 RGB 这是我的代码 AVFrame RGBFrame SwsContext ConversionContext ConversionContext sws getCachedCo
  • 从c文件中提取头名称的正则表达式

    如何从包含这样的 c 文件中提取标头 include
  • Grunt、NPM 和 Bower 之间的区别(package.json 与 Bower.json)

    当我想添加一个包 并将依赖项签入 git 时 它属于哪里 进入package json或进入bower json 据我收集的信息 跑步bower install将获取包并将其放入 vendor目录 跑步npm install它会获取它并将其
  • 二叉树递归函数

    我需要打印出一个如下所示的二叉树 x x x x x x x x x x x x x x x xxxxxxxxxxxxxxxx 使用递归打印该行的左侧和右侧 第一行除外 因此该函数将调用带有左起点和右终点参数的显示函数 然后它会调用自己两次
  • Docker:如何从给定容器访问另一个容器中的文件?

    基本上我有一个主目录和图书目录 一般文件结构 还有更多 但这些是重要的部分 因此 当我从 main 向 booksServer 发出请求时 它不起作用 因为节点模块丢失 这是因为节点模块位于 docker 容器内的特定路径 usr src
  • 网络个人资料有什么用?

    我偶然发现了这个项目ASP NET Web 配置文件生成器 为什么我需要代理类来访问配置文件 因为 ASP NET 仅支持带有 网站 选项的开箱即用的配置文件 如果您使用的是 Web 应用程序项目 WAP 那么您必须推出自己的项目 问题源于
  • JAX-RS 未能注入 @EJB 或 @Inject

    我正在尝试测试最小的 JAX RS EJB CDI 注入机制 但目前由于 GlassFish 由于某种原因无法注入而遇到了障碍 使用 Inject 将抛出 NPE 因为 GlassFish 无法注入 POJO 我的 beans xml 仅包
  • 使用 Cerberus 验证两个参数具有相同数量的元素

    有没有办法拥有Cerberus验证两个字段是否具有相同数量的元素 例如 该文档将验证 a 1 2 3 b 4 5 6 这不会 a 1 2 3 b 7 8 到目前为止 我已经想出了这个模式 a required False type list
  • Java Double 初始化为 0.0

    我有一个 bean 其中有一个字段 CustAmount 它是双倍的 我尝试测试该 bean 但我似乎不理解这一点 当我在本地计算机上运行时 它在实例化时初始化为 0 0 当我在 Linux 测试环境中运行相同的代码时 它仍然为空 由于检索
  • 如何在mysql中批量插入插入的id

    我试图使用此查询在 mysql 表中插入多行后获取 insertid insert into sometable id candidateid createdby values 61 3175 1425 60 3175 1425 42 31
  • SQL Server 计算切换间隔秒数

    我有一个这样的表 Value TimeStamp 1 2016 04 01 00 01 09 000 0 2016 04 01 00 01 09 000 0 2016 04 01 00 01 37 000 1 2016 04 01 00 0
  • 了解 VB.NET P/Invoke 声明中的 VBByRefStr

    当尝试使用 C 的 VB NET 程序集中创建的 P Invoke 声明时 我注意到string争论变成ref string论据 仔细检查表明 例如 Public Declare Unicode Function RegDeleteValu
  • 为不同的复合组件指定不同的错误消息

    有没有办法为不同类型的复合组件提供 REQUIRED 消息 我希望能够在消息包中说出以下内容 javax faces component UIInput REQUIRED Please enter a value for 0 com ano
  • 如何在 Clion 和 CMake 中添加 allegro 库?

    我正在尝试使用 Clion IDE 编译我的游戏项目 但在移植 allegro 5 时遇到问题 我收到此错误 main cpp 2 10 fatal error allegro allegro h file not found includ
  • C 中返回数组?

    我无法在 C 中返回数组 我对 C 很陌生 所以我可能会犯一些有趣的错误 这里是 代码 define MAXSIZE 100 int recievedNumbers MAXSIZE void setup put your setup cod
  • 在 Discord.py 中获取用户的邀请总数

    我正在尝试向我的机器人添加一个命令 该命令会回复用户邀请到服务器的总人数 My code if message content startswith invites totalInvites message guild invites aw
  • 谁能解释为什么换行符会使 JavaScript 中的 return 语句未定义? [复制]

    这个问题在这里已经有答案了 这一直是我几个小时痛苦的根源 谁能解释为什么会这样 function x return when there s a line break it doesn t work 2 alert x function y
  • 正则表达式匹配任何字符,包括换行符

    是否有正则表达式来匹配 包括换行符在内的所有字符 例如 在下面的正则表达式中 没有输出 2因为 匹配时不包括新行 string START Curabitur mollis dolor ut rutrum consequat arcu ni