Perl 正则表达式中的转义特殊字符

2023-11-26

我正在尝试匹配 Perl 中的正则表达式。我的代码如下所示:

my $source = "Hello_[version]; Goodbye_[version]";
my $pattern = "Hello_[version]";
if ($source =~ m/$pattern/) {
  print "Match found!"
}

问题在于,当 Perl 尝试匹配正则表达式时,括号指示字符类(或者我读到的字符类),并且匹配最终失败。我知道我可以用\[ or \],但这需要另一个代码块来遍历字符串并搜索括号。有没有办法自动忽略括号而不单独转义它们?

快速注意:我不能只添加反斜杠,因为这只是一个示例。在我的真实代码中,$source and $pattern两者都来自 Perl 代码外部(URIEncoded 或来自文件)。


\Q将禁用元字符,直到\E找到或模式结束。

my $source = "Hello_[version]; Goodbye_[version]";
my $pattern = "Hello_[version]";
if ($source =~ m/\Q$pattern/) {
  print "Match found!"
}

http://www.anaesthetist.com/mnm/perl/Findex.htm

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

Perl 正则表达式中的转义特殊字符 的相关文章

  • 当 sleep() 不能与闹钟配合使用时,我还能做什么“睡眠”?

    有许多文档说 您应该避免使用带有警报的睡眠 因为许多系统使用警报来实现睡眠 事实上 我正在遭受这个问题的困扰 那么 当 sleep 无法与闹钟配合使用时 有人可以帮助我 我还能做什么 睡眠 吗 我已经尝试过 Time HiRes 模块的 u
  • R正则表达式获取第二个下划线之前的所有文本

    s lt 1 343 43Hello 2 323 14 fdh 99H 在 R 中 我想使用正则表达式来获取第二个下划线之前的子字符串 如何使用一个正则表达式来完成此操作 另一种方法是用 分割 然后粘贴前两个 一些东西 paste sapp
  • 使用 Beautifulsoup 和正则表达式提取 10-K Edgar 文件中的文本

    我想从大约 10000 个文件中自动提取 1A 风险因素 部分并将其写入 txt 文件 可以找到带有文件的示例 URLhere https www sec gov Archives edgar data 1800 0001047469190
  • 所有语言中特殊字符的 Java 正则表达式

    在我的用户输入字段中 我想允许某些特殊字符 字母和数字的组合 我应该确保正则表达式模式在输入时允许此设置任何语言 基本上我构建的这个正则表达式也应该支持 unicode 表示 如何使用 Java 中的 Pattern 类来实现这一点 这里给
  • 正则表达式和 ios5 stringByMatching ==> NSRegularExpression

    如何使用等效的 NSRegularExpression 更改此行 NSString encodedPoints apiResponse stringByMatching points capture 1L 谢谢 请记住 您需要 iOS 4
  • PCRE 匹配 C 中的所有组

    我想使用 PCRE C 库递归地匹配一个组 e g pattern d subject 5 6 3 2 OVECCOUNT 30 pcrePtr pcre compile pattern 0 error erroffset NULL rc
  • 导入 .pl 文件

    我想知道如何将 Perl 文件导入到脚本中 我尝试了 use require 和 do 但似乎没有什么对我有用 这就是我用 require 做到的 usr bin perl require equations print x1 n 是否可以
  • 带变量的 AWK 负正则表达式

    我在 bash 脚本中使用 awk 来比较两个文件以获取不匹配的行 我需要将第二个文件的所有三个字段 作为一个模式 与第一个文件的所有行进行比较 第一个文件 chr1 9997 10330 HumanGM18558 peak 1 150 1
  • 是否有 JavaScript 正则表达式相当于 Java 正则表达式中的交集 (&&) 运算符? [复制]

    这个问题在这里已经有答案了 在 Java 正则表达式中 您可以使用交集运算符 在字符类中以简洁地定义它们 例如 a z def d e or f a z bc a through z except for b and c JavaScrip
  • 在 Perl 中,如何制作数组的深层复制? [复制]

    这个问题在这里已经有答案了 可能的重复 在 Perl 中制作数据结构深层复制的最佳方法是什么 https stackoverflow com questions 388187 whats the best way to make a dee
  • 解析格式化字符串

    我正在尝试创建一个通用格式化程序 解析器组合 示例场景 我有一个 string Format 的字符串 例如var format 0 1 我有一个用于输入的对象 字符串 数组 例如var arr new asdf qwer 我正在使用格式字
  • 为什么“script”命令会生成 ^[ 和 ^M 字符以及如何使用 vim 搜索和替换删除它们?

    在linux上 使用bash shell 当我使用script命令时 生成的文件称为typescript 当我用 vim 打开该文件时 每一行都包含 M字符 并且有几行 由于我的彩色命令提示符 包含一个字符 我想用任何东西替换这些字符 从而
  • 不支持的 Perl 语法:`(?<`

    我想解析 cmd gpg list keys 的结果以将其显示在浏览器上 cmd输出是这样的 pub rsa3072 2021 08 03 SC expires 2023 08 03 07C47E284765D5593171C18F00B1
  • 如何仅计算数字长度正则表达式

    俄罗斯电话号码有11位数字 但我无法使用a 11 因为电话号码可以包含括号和破折号我的正则表达式 d 1 2 0 9 3 0 9 7 9 号码可以包含 1 到 2 个字符作为国家 地区代码然后 3 位带括号的数字或不作为电话运营商代码然后是
  • 为字符串列表创建正则表达式

    I have extracted a series of tables from the scientific literature which consist of columns each of which is a distinct
  • sed 替换 json 对象中键的值

    我想做什么 给定一个 json 事件文件 我想通过关键字定位特定事件 然后将该事件中的键值替换为 这必须使用 sed 来完成 Splunk 转发问题 我不会用细节来烦你 事件示例 message we have a response fro
  • 检查程序是否正在运行,如果不在 perl 中则运行它

    我想知道如何检查程序是否正在运行 如果没有则运行该程序 使用 Kill 函数向要检查的进程 ID 发送 0 零 信号 如果进程存在 函数返回true 否则返回false Example check if process 1525 is ru
  • 电子邮件正则表达式将如何处理新的 unicode 域?

    Since 2009年10月 互联网 名称指定公司和 Numbers ICANN 批准了创建 国家 地区代码顶级域名 ccTLD 在互联网上使用 母语 IDNA 标准 脚本 我很确定大多数网站当前使用的标准正则表达式不会将它们标记为有效 还
  • 除空字符串外的任何内容的正则表达式

    是否可以使用正则表达式来检测任何不是 空字符串 的内容 如下所示 string s1 string s2 string s3 string s4 etc 我知道我可以使用修剪等 但我想使用正则表达式 s 将匹配任何包含至少一个非空格字符的字
  • 快速从 RSS feed 获取 img url

    我希望能够从一段字符串中检索 img url 以下是我尝试检索的 img URL 的示例 p img width 357 height 500 src http images sgcafe net 2015 05 OVA1 357x500

随机推荐

  • 找出Python中的正则表达式在字符串中匹配了多少次

    有没有办法可以找出Python字符串中有多少个正则表达式的匹配项 例如 如果我有字符串 It actually happened when it acted out of turn 我想知道多少次 t a 出现在字符串中 在那串字符串中 t
  • SwiftUI iOS - 如何捕获硬件按键事件

    我是 iOS 开发新手 按照教程 我使用 SwiftUI 创建了一个简单的计算器 我的 iPad 连接了键盘 我希望能够使用键盘输入值 如何在 SwiftUI 应用程序 没有文本字段 中捕获和处理硬件键盘事件 我尝试在 SceneDeleg
  • YouTube API 和品牌帐户

    很长一段时间以来 我一直在使用 Google 脚本来访问我的 YouTube 频道 从中获取和修改一些信息 并将一些数据保存在 Google 表格中 它总是工作得很好 但大约一周前 谷歌以某种方式在我的普通帐户 主电子邮件 和我的 YouT
  • 如何在 R 中将 html 输出捕获为 png

    我使用 R 中的 networkD3 包创建的交互式输出 我知道如何将输出保存为 html 页面 但我还需要将图表的 静态 版本保存为 png 文件 代码如下所示 Load package library networkD3 Create
  • 是否可以通过 ctypes 通过引用传递 python 字符串?

    抱歉 但我通常很难阅读当前的 ctypes 文档 如果我有一个 C 函数需要const char 指针 而我know它既不会修改传入的字符串 也不会在函数调用之外保留对它的引用 直接将指针传递给 python 字符串的字节确实很有意义 ct
  • 在 PHP 中格式化日期字符串

    如果我有一个代表日期的字符串 例如 2011 07 01 即 2011 年 7 月 1 日 我将如何以更易读的形式输出它 例如 1 July 2011 1 Jul 2011 month as three letters 另外 我怎样才能让它
  • 动画平滑的 CSS 网格列变化

    我正在使用 CSS 网格布局来定位网站上的各个部分 我用grid column x x and grid row x x 设置它们在页面上的位置和大小 它运作得非常好 现在我正在尝试制作两个网格列修复之间的平滑过渡动画 这是在屏幕尺寸发生变
  • 启动 Android Studio 时出错

    我在启动 android studio 时遇到这些错误 请任何人能为我提供解决方案 gt java lang RuntimeException gt com intellij ide plugins PluginManager Startu
  • 编译 helloworld.cu 时遇到问题

    在 Ubuntu 10 10 中编译这个 hello world 示例时 这是来自CUDA 示例 第 3 章 未提供编译说明 gt include
  • Flutter:刷新网络图像

    我是颤振的初学者 我正在寻找一种简单的方法来刷新网络图像 在这样的基本代码中 让 flutter 再次获取并绘制该图像的最简单方法是什么 在我的代码中 图像是来自安全摄像头的快照 因此每次获取时都会发生变化 但始终具有相同的 url 每次启
  • 如何从 Startup.cs 中的 XML 文件中提取配置设置

    我有一个startup cs 文件 我想从XML 文件中提取配置而不是appsetings json文件 ASP NET Core MVC 可以吗 如果您想使用appsettings xml相反 你可以参考我的博客文章here 引用文章中的
  • C++中字符串前面的“L”是什么意思?

    this gt textBox1 gt Name L textBox1 虽然它似乎可以在没有L 前缀的目的是什么 它的使用方式对于铁杆 C 程序员来说甚至没有意义 It s a wchar t文字 用于扩展字符集 维基百科有关于这个主题的一
  • 在 Pandas 中查找多列中的字符串

    我正在尝试查找多个列中是否存在字符串 如果字符串存在 我想返回 1 如果它不作为数据帧中的新系列 则返回 0 在搜索论坛后 我了解到可以使用 str contains 但我正在搜索 100 多个列 因此一次处理单个系列对我来说效率不高 如果
  • C++ 诡异的构造函数 [重复]

    这个问题在这里已经有答案了 可能的重复 为什么使用空括号调用不带参数的构造函数会出错 让我们有这个代码 class Foo Foo int 然后我们得到结果 int main Foo f1 Foo 5 1 OK explicit call
  • ASP .NET MVC 在每个字段级别禁用客户端验证

    我正在使用带有数据注释和 jQuery 验证插件的 ASP NET MVC 3 有没有办法标记某个字段 或某个数据注释 只能在服务器端进行验证 我有一个带有屏蔽插件的电话号码字段 正则表达式验证器在用户端变得疯狂 正则表达式只是一个自动防故
  • 无法让Python从不同的文件夹导入

    我似乎无法让 Python 在子文件夹中导入模块 当我尝试从导入的模块创建该类的实例时出现错误 但导入本身成功 这是我的目录结构 Server server py Models user py 这是server py的内容 from sys
  • 如何使用套接字通过互联网发送数据?

    我想通过桌面应用程序通过互联网发送数据 我对套接字了解一点 我已经在局域网内传输数据 但现在我想通过互联网传输数据 传输大量和少量数据的最佳方式是什么 我的系统已连接到可以访问互联网的服务器 我的系统的 IP 地址是动态的 我不知道如何将数
  • 计算数据帧组内的差异

    假设我有一个包含 3 列的数据框 日期 股票行情 值 没有索引 至少在开始时是这样 我有很多日期和股票行情 但每个 ticker date 元组是唯一的 但显然 相同的日期将显示在许多行中 因为它会出现在多个代码中 并且相同的代码会出现在多
  • 是否存在使用数据库 1:1 关系有意义的时候?

    前几天我在思考规范化 我突然想到 我想不出数据库中应该存在 1 1 关系的时候 Name SSN 我会把它们放在同一张桌子上 PersonID AddressID 再说一遍 同一张桌子 我可以想出无数个 1 多或多 多 带有适当的中间表 的
  • Perl 正则表达式中的转义特殊字符

    我正在尝试匹配 Perl 中的正则表达式 我的代码如下所示 my source Hello version Goodbye version my pattern Hello version if source m pattern print