【问题标题】:How to check for multiple special characters using Regex in Perl如何在 Perl 中使用正则表达式检查多个特殊字符
【发布时间】:2018-03-07 03:50:47
【问题描述】:

我是 perl 的初学者,我正在研究如何使用 Regex 在文件中搜索多个特殊字符。基本上,我有一个结束标签 /> ,我需要在文件中验证它。我读过,当我们有特殊字符时,我们需要在前面使用'\'。但是我有两个特殊字符,我不知道如何完成这个检查。

我正在使用类似下面的东西,包括/> 介于/\""/ 之间,但它不起作用:

$line =~ /\/>/ 

有人可以帮助我使用 Regex 进行这种模式匹配吗?

【问题讨论】:

  • 不要使用正则表达式解析 XML/HTML/...。别。请参阅 Isaac 评论中的链接并运行 XML::LibXMLXML::Twig 或 HTML 模块的数量之一。话虽如此,$line =~ m{/>} 会处理 that(一个)示例:使用 / 以外的分隔符,而 > 并不特殊。

标签: regex perl


【解决方案1】:

我相信 \Y 或 \Q..\E 是你的朋友。

  /text\Y$literal\Ytext/
  /\Q.*\Etext/

\Y 列为没有任何运行时变量插值。这意味着所有 perl 变量都将被视为文字符号。

\Q..\E 列为(禁用)模式元字符。这意味着通常的正则表达式特殊字符将被视为文字符号而无需转义。

http://perldoc.perl.org/perlre.html

【讨论】:

    猜你喜欢
    • 2011-01-17
    • 2014-07-16
    • 1970-01-01
    • 2011-11-17
    • 1970-01-01
    • 1970-01-01
    • 2010-10-19
    • 2020-05-07
    • 1970-01-01
    相关资源
    最近更新 更多