gpt4 book ai didi

regex - Perl 正则表达式找不到花哨的引号“

转载 作者:行者123 更新时间:2023-12-04 20:21:58 24 4
gpt4 key购买 nike

我试图使用以下 Perl 正则表达式从字符串中找到花哨的引号“,但它返回 false。

$text = "NBN “a joint venture with Telstra”";

if ($text =~ m/“/)
{
print "found";
}

我也尝试使用“ \x93 ” ascii 代码,但仍然不起作用。我被困在这里。

任何帮助表示赞赏。

问候,
艾伦

最佳答案

根据您尝试匹配的字符串的编码,您可能需要做不同的事情。见 The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) .

如果输入字符串以 UTF-8 编码,那么您需要在 perl 脚本中指定该编码 - 一种方法是使用 use encoding 'UTF-8' .

您也可以指定 use utf8如果您希望脚本本身的编码为 UTF-8。不过,知道要检查的字符的代码点并直接指定它可能会更好:

use utf8;
use encoding 'UTF-8';

$text = "NBN “a joint venture with Telstra”"; # Make sure to quote this string properly

if ($text =~ m/\N{U+201C}/) # “ is the same as U+201C LEFT DOUBLE QUOTATION MARK
{
print "found";
}

关于regex - Perl 正则表达式找不到花哨的引号“,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5537793/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com