gpt4 book ai didi

regex - Perl 解析 JavaScript 文件正则表达式,仅在返回字符串的开头和结尾处捕获引号

转载 作者:行者123 更新时间:2023-12-04 23:19:54 25 4
gpt4 key购买 nike

我刚刚开始学习 Perl。我需要解析 JavaScript 文件。我想出了以下子程序来做到这一点:

sub __settings {
my ($_s) = @_;
my $f = $config_directory . "/authentic-theme/settings.js";
if ( -r $f ) {
for (
split(
'\n',
$s = do {
local $/ = undef;
open my $fh, "<", $f;
<$fh>;
}
)
)
{
if ( index( $_, '//' ) == -1
&& ( my @m = $_ =~ /(?:$_s\s*=\s*(.*))/g ) )
{
my $m = join( '\n', @m );
$m =~ s/[\'\;]//g;
return $m;
}
}
}
}

我有以下正则表达式,它删除了 ';从字符串:
s/[\'\;]//g;
它工作正常,但如果字符串中有提到的字符( '; ) - 那么它们也会被删除。这是不可取的,这就是我卡住的地方,因为它对我来说有点复杂,我不确定如何正确地将上面的正则表达式更改为:
  • 仅先删除 '在字符串中
  • 仅删除最后一个 '在字符串中
  • 最后删除 ;在字符串中,如果存在

  • 请问有什么帮助吗?

    最佳答案

    您可以使用以下内容进行匹配:

    ^'|';?$|;$

    并替换为 '' (空字符串)

    DEMO

    关于regex - Perl 解析 JavaScript 文件正则表达式,仅在返回字符串的开头和结尾处捕获引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30163791/

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