gpt4 book ai didi

javascript - ini 属性的匹配值

转载 作者:行者123 更新时间:2023-12-02 20:24:26 25 4
gpt4 key购买 nike

previous question中,我问如何匹配一个ini值的部分属性。我得到了答复,并且它在积极的前瞻性下效果很好。

现在,我正在尝试获取属性的值:(编辑)

foo.bar.far.boo = <强> value

foo.bar.far.boo = <强> value "something"

foo.bar.far.boo = "something" <强> value "something"

foo.bar.far.boo = <强> value ; some comments

开始编辑

我想匹配“值”(粗体)。

任何未加引号的单词后跟或不加任何其他字符串(加引号),并且仅在=(值部分)之后

结束编辑

所以我尝试使用“正向回顾”(?<==\s)\w+ ,但它在 javascript 中不存在。

关于如何实现这一目标有什么想法吗?

顺便说一句,我无法使用该值来反转字符串,因为我无法访问它,我需要返回一个正则表达式来匹配,这是我唯一能做的事情。

开始编辑

我无法使用该值,因为我无权访问它。我正在为脚本创建一个插件 a,我只能做类似的事情:

return /myregex/;

无法访问实际值。

结束编辑

最佳答案

编辑 - 如果 PCRE 与 Perl 5.10 兼容,则可以使用:
/=\s*(?:".*?"\s*)*\K\w+/

您尝试过 /(?==\s*(?:".*?"\s*)*(\w+))/ 吗?
捕获机制应该只捕获前瞻中的值 (),但我不确定 JS。

Perl:

use strict;
use warnings;

my @ary = (

'foo.bar.far.boo = value1',
'foo.bar.far.boo = value2 "something"',
'foo.bar.far.boo = "something" value3 "something"',
'foo.bar.far.boo = value4 ; some comments',
'foo.bar.far.boo = ; some comments value5'
);

for (@ary) {
# if ( /(?==\s*(?:".*?"\s*)*(\w+))/ ) {
# print "'$1'\n";
# or, >= Perl 5.10 ...
if ( /=\s*(?:".*?"\s*)*\K\w+/ ) {
print "'$&'\n";
}
}

'值1'
'值2'
'value3'
'值4'

关于javascript - ini 属性的匹配值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5071460/

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