【问题标题】:identifying the forward slash [duplicate]识别正斜杠[重复]
【发布时间】:2016-09-11 15:12:43
【问题描述】:

假设我有 3 个变量。

my $val1 = './f1/abc.txt'; #f1 is the folder where abc.txt resides.

my $val2 = './f1/def.txt';

my $val3 = 'gh.txt';

我在阅读“./f1/”部分时遇到问题。

if ($val1 =~ m/^a.*\.txt$/ or  $val2 =~ m/^d.*\.txt$/) { print $val3; }

这不适用于文件夹名称。请帮忙。

【问题讨论】:

  • 这个问题与正斜杠完全无关。它与您错误地使用 ^ 锚点有关。 ^ 表示“字符串的开头”。您在询问 Perl $val 是否匹配:“字符串开头、a、0 或多个任意字符、句点、txt、字符串结尾”。它没有。 $val1 中的a 与字符串的开头不相邻,它在字符串的中间。 $val2 也是如此 - d 不在字符串的开头。删除 ^ 锚点。

标签: regex perl


【解决方案1】:

您可以使用以下转义序列在“./f1/”中找到正斜杠:

\/

【讨论】:

  • 谢谢伙计。我只是在编写脚本时使用了双正斜杠 (\//)。感谢您的帮助。
猜你喜欢
  • 2011-10-20
  • 1970-01-01
  • 1970-01-01
  • 2023-01-27
  • 1970-01-01
  • 2013-05-26
  • 2017-06-15
  • 2014-08-02
  • 1970-01-01
相关资源
最近更新 更多