使用Perl中的正则表达式匹配字符

Luk*_*cky 1 regex perl

我正在尝试逐行阅读文档,并且只对字母中的某些字符感兴趣,而不是新行字符.

我有以下内容:

@chars = split //;

for $char (@chars) {
  if (   ($pos % 16569 == 1719)
      || ($pos % 16569 == 8251)
      || ($pos % 16569 == 10238)) {
    print FILE_OUT "$char\n";
  }

  if ($char == m/[A-Z]/) {
    $pos++;
  }

}
Run Code Online (Sandbox Code Playgroud)

正则表达式m/[A-Z]/无法匹配,因为$pos永远不会增加.是否可以匹配Perl中的单个char,或者此操作仅允许用于字符串?如果是这样,有没有办法绕过这个?

Mor*_*kus 5

你可能意味着=~而不是==.==是相等的数字比较.=~在运算符的左侧调用常规模式匹配.

哦,你也应该经常use strictuse warnings,尤其是例子.

欢迎来到StackOverflow.