正则表达式:将 $ 放入 [ ]

2023-12-10

echo "tests"|perl -pe "s/s[t$]//g"
Unmatched [ in regex; marked by <-- HERE in m/s[ <-- HERE 5.020000/ at -e line 1, <> line 1.

我不能放$ in [ ]?为什么?还有其他方法可以匹配吗t or $?


请注意错误消息中的正则表达式(删除标记后):

m/s[5.020000/

这为我们提供了有关正在发生的事情的线索。这$]被替换为5.020000在评估正则表达式之前。参考man perlvar,我们可以看到$]是一个特殊变量:

Perl 解释器的版本+补丁级别/1000。

为了防止变量扩展,请添加一些转义:

echo "tests" | perl -pe 's/t[s\$]//g'

这将删除ts或字面意思t$。如果你想要$代表线的结尾(修剪两者test and tests), use:

echo -e "tests\ntest" | perl -pe 's/t(s|$)//g'

或使s选修的:

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

正则表达式:将 $ 放入 [ ] 的相关文章

  • 用于编辑 /etc/sudoers 文件的正则表达式模式

    我想删除 etc sudoers 文件中的 uncommnet 轮组 那么我应该使用什么正则表达式模式 cat etc sudoers Allows members of the sys group to run networking so
  • 正则表达式与 ls 的用法

    我正在尝试使用 ER 扩展正则表达式 with ls like ls 我正在尝试打印包含扩展名的所有文件 我知道我可以用ls 但我想尝试使用 ER 当我运行该代码时 我收到此错误 ls No such file or directory 您
  • 反序列化之前从 JSON 中删除奇怪的隐藏字符

    我有一些 JSON 发送给我 当它尝试反序列化时会中断 它似乎含有一颗黑色钻石 上面有 在里面 我看不到该角色 但它显然在那里 但在我的系统上失败了 如何摆脱这个问题并保持 JSON 完整以进行反序列化 UPDATE 以下是 JSON 中间
  • 正则表达式 - Python - 删除前导空格

    我使用正则表达式在文本文件中搜索 产品 一词 然后 我使用该搜索的起点和终点来查看该列并提取整数 有些实例 A 列 有我不想要的前导空格 我只想将数字 如 B 列中的数字 打印到文件中 没有前导空格 正则表达式中的正则表达式 有条件的 pr
  • Pandas - 过滤器和正则表达式搜索 DataFrame 的索引

    我有一个 DataFrame 其中列是 MultiIndex 索引是名称列表 即index Andrew Bob Calvin 我想创建一个函数来返回数据帧中使用名称 Bob 或以字母 A 开头或以小写字母开头的所有行 如何才能做到这一点
  • 通过一个正则表达式以任意顺序匹配多个单词

    如标题中所述 我想要正则表达式 它将根据我的 查询 按顺序给出结果 line VERSION OTHER POWER LOW FREQ OFF MAXTUN BLER 示例1 re findall r FREQ VERSION line r
  • 仅使用 mod_rewrite 重定向主页

    我有一个需要重定向的网站 但我不能只重定向 目录 因为服务器上的文件夹中还有其他网站 这样做也会重定向它们 不好 因此 我的 htaccess 文件包含一堆针对各个 HTML 页面的 301 重定向 并且这些文件工作得很好 但我需要重定向主
  • 在 Perl 中检测全局破坏

    我想检测我的物体是否被DESTROY作为全局破坏的一部分 并打印出警告 因为这显然是一个错误并导致数据丢失 显而易见的方法似乎是 sub DESTROY my self shift if i am in global destruction
  • VS Code 多行搜索和替换 HTML / XML 标签? [复制]

    这个问题在这里已经有答案了 如何搜索可能包含多个非空行的开始和结束标记
  • Base 64 编码的有效字符范围

    我对以下内容感兴趣 是否有一个字符列表never作为 Base 64 编码字符串的一部分出现 例如 我不确定这种情况是否会发生 如果原始输入实际上有 作为它的一部分 编码会有所不同吗 这是我可以发现的 RFC 4648 http www r
  • 在 R 中提取模式/分隔符之间的字符串

    我的变量名称格式如下 PP Sample 12 GT or PP Sample 17 GT 我正在尝试使用字符串拆分来 grep 出中间部分 即Sample 12 or Sample 17 但是 当我这样做时 IDtmp lt sapply
  • 匹配不可打印/非 ASCII 字符并从文本中删除

    我的 JavaScript 很生疏 所以任何有关这方面的帮助都会很棒 我需要检测字符串中的不可打印字符 控制字符 如 SOH BS 等 以及扩展 ascii 字符 如 并将其删除 但我不知道如何编写代码 谁能指出我正确的方向来解决这个问题
  • C# 从带引号的字符串中删除分隔符

    我正在编写一个程序 必须从文本文件中带引号的字符串中删除分隔符 例如 Hello my name is world 必须 Hello my name is world 起初这听起来很简单 我认为是这样 但是您需要检测引号何时开始 何时结束
  • preg_match_all JS 等效吗?

    Javascript 中是否有与 PHP 的 preg match all 等效的函数 如果没有 将正则表达式的所有匹配项放入数组的最佳方法是什么 我愿意使用任何 JS 库来让它变得更容易 您可以使用match使用全局修饰符 gt gt g
  • 基于Java模式分割字符串

    您好 我有以下模式的日志文件 2014 03 06 03 21 45 432 ERROR mfs pool 3 thread 19 dispatcher StatusNotification Error processing notific
  • 负向查找正则表达式 - 仅出现一次 - Java

    我正在尝试查找字符串是否包含only one一个词的出现 e g String jjdhfoobarfoo Regex foo gt false String wewwfobarfoo Regex foo gt true String jj
  • 正则表达式:如何获取组名称

    我有一个 NET 正则表达式 它看起来类似于
  • laravel 正则表达式验证不起作用

    我刚刚开始使用 laravel 正在努力验证我的表单之一中的文本区域 文本区域用于用户简介 因此我只想允许使用字母 数字 空格和以下字符 这就是我所拥有的 validator Validator make Input all array b
  • 替换第二个和第三个下划线之间的任何内容

    我有一个 PowerShell 脚本行 它用 替换 删除 第二个和第三个下划线之间的字符 get childitem pdf rename item newname name replace p L p L 例子 12345 00001 L
  • 将 Regex 对象分配给 html 输入模式

    我需要以编程方式将正则表达式对象分配给输入元素模式属性 以下是我当前的实现 var regex d 5 element attr pattern regex toString slice 1 1 有没有更好的方法来做到这一点而不需要字符串操

随机推荐

  • 克隆包含剑道输入的 div

    我有一个应用程序 允许用户动态创建包含剑道输入的 div 为此 我有一个 div 其中包含多个剑道输入 我将其用作模板 当用户决定向页面添加一个部分时 我使用 jquery clone 克隆我的 div UI 中的一切看起来都很好 但由于剑
  • 如何判断套接字是否关闭

    我制作了一个简单的客户端服务器程序 但主要问题是 一旦客户端和服务器之间建立连接 如果客户端关闭程序 服务器会重复执行最后一条消息 有时会产生巨大的问题 所以我想要的是是否有任何函数可以调用来获取 SOCKET 结构的状态 这样如果客户端关
  • 在 Flask 应用程序中使用 Markdown 混合图像

    我正在使用构建静态站点Flask FlatPages 并跟进Frozen Flask 在我的页面中 我想将文本与图像混合在一起 这是执行此操作的天真的方法 Look at this image img src Hmm it does not
  • 按 VB.NET 形式的日期搜索条件从 Access 数据库中选择行

    我有一个非常简单的问题 我的 VB NET 表单上有几个日期选择器控件 用户选择 startDate 和 endDate 并且显示相关表中的所有行 其中包含orderDate用户选择的开始日期和结束日期之间 以下是相关代码 Private
  • 从基类创建派生类的实例

    我有我的抽象基类A public abstract class A ICloneable public int Min get protected set public int Max get protected set public A
  • BOOT_COMPLETED 意图操作的广播无法正常工作

    我有一个接收器类正在监听多个操作 但它无法捕获android intent action BOOT COMPLETED行动 我做错了什么 这是我的清单文件
  • susy 2.0 在断点处更改列

    我没有使用指南针 我更喜欢使用 Breakpoint scss 我用的是ssy 2 0 我知道有很多关于这个问题的帖子 但我没有运气找到任何相关的内容Breakpoint scss and Susy 2 0关于这个话题 import sus
  • Adobe Air 的推送通知 iOS 本机扩展

    我正在为 Adob e AIR 开发 iOS 本机扩展 它将获取推送通知的设备令牌 不幸的是 我不是那么热心的 Objective C 程序员 我不确定我正在使用的代码是否有问题 它编译没有问题 我可以将扩展与 AIR 一起使用 但看起来注
  • 具有相同 ID 的 HTML 元素

    目前我正在开发一个 喜欢 的新闻提要系统 一页上有多个新闻提要 这意味着有多个具有相同 ID 的 喜欢 按钮 这是我用来喜欢帖子的 jquery document ready function likebutton click functi
  • 将韩文字符转换为实体

    我正在尝试将韩语字符转换为 unicode html 实体 但没有任何运气 我使用这个网站 http www mylanguages org converter php但希望在 php 编码中有类似的东西 text echo htmlent
  • 将 XLSX 文件从每月电子邮件(在 Gmail 中)导入到指定的 Google Sheet

    我定期收到客户发来的 XLSX 文件 我希望自动执行将其从 Gmail 自动标记 导入 Google 表格的过程 到目前为止 我设法使其适用于 CSV 文件 但 XLSX 文件似乎更棘手 有人可以帮助调整我的 CSV 文件代码吗 funct
  • SQLiteDataAdapter 更新方法返回 0

    我从 CSV 文件加载了 83 行 但是当我尝试更新 SQLite 数据库时 我得到 0 行 我不知道我做错了什么 程序输出 Num rows loaded is 83 Num rows updated is 0 源代码是 public v
  • Java,IllegalAccessorError:超类访问检查失败

    我一直在用 Java 开发自己的一个小项目 最近 我编译了它并收到了这个错误 线程 main 中的异常java lang IllegalAccessError 超类访问检查失败 类kr w zeale v1 program core Dat
  • oracle SQL语句中rownum与order by子句结合使用

    以下两个 SQL 语句中哪一个将返回所需的结果集 即 Status 0 且 Starttime 最高的十行 两个语句总是返回相同的结果集吗 开始时间是唯一的 SELECT FROM MyTable WHERE Status 0 AND RO
  • 关闭图形所有子图的轴

    我正在创建大量子图 我想关闭所有子图的轴 目前我正在通过以下方式实现这一目标 fig ax plt subplots 7 len clusters fig subplots adjust wspace 0 top 1 0 bottom 0
  • BAT:基于文件修改日期的 if 语句

    我想查看锁定文件的修改日期是否超过 5 秒前或将来 表明 PC 时钟已改回 我怎么能说 if file modifydate lt now 5 seconds or modifydate gt now 运行命令 a 命令 a 将启动我的 J
  • ServiceController.start() 和 ServiceController.stop() 抛出异常?

    下面的代码抛出异常 我不明白我在代码中犯了什么错误 有人可以帮我弄清楚吗 我认为这是一些担保权问题 如果是这样 我如何向任何用户或应用程序授予以编程方式访问此 Windows 服务的安全权限 Dim sc As New ServiceCon
  • 工具栏中 Android 微调器上的翻转箭头

    我在屏幕底部的工具栏中有一个微调器 但微调器旁边的箭头指向下方 这是违反直觉的 有没有什么快速的方法可以将箭头翻转到向上 如果有帮助的话 微调器的定义如下
  • 如何等待异步完成

    我想运行一些异步工作流程 然后等待它完成后再打印一些结果 例如 let dowork n async do printfn work d n let creatework async for x in 1 5 do Async Start
  • 正则表达式:将 $ 放入 [ ]

    echo tests perl pe s s t g Unmatched in regex marked by lt HERE in m s lt HERE 5 020000 at e line 1 lt gt line 1 我不能放 in