gpt4 book ai didi

javascript - 提取正则表达式名称的一部分

转载 作者:行者123 更新时间:2023-12-02 22:32:57 25 4
gpt4 key购买 nike

文件名示例

  1. FDIP_en-gb-nn_Text_v1_YYYYMMDD_SequenceNumber.txt

  2. FDIP_fr-fr-nn_Text_v1_YYYYMMDD_SequenceNumber.txt

  3. FDIP_de-de-nn_Text_v1_YYYYMMDD_SequenceNumber.txt

正则表达式为FDIP_([a-z]{2}-[A-Z]{2}-[a-z]{2})_Text_v1_[0-9]{8}_[0-9]{14}。 txt

我唯一需要的部分是翻译代码,即“en-gb”、“fr-fr”、“de-de”。

如何提取文件名的该部分?

最佳答案

修改了一点正则表达式以匹配数字和文本。可以玩一下here

说明要捕获一个组,您需要将正则表达式包装为 ()这将捕获为一个组。

要进行命名捕获,您可以 (?<name_of_group>)然后就可以通过名字访问了。

这里是匹配过程。

[a-z]{2}匹配 a-z 中的 2 个字符

[a-zA-Z0-9]匹配 a-z or A-Z or 0-9 的任何字符

g表示全局标志,即匹配所有。

i意思是忽略大小写。

var r = /FDIP_([a-z]{2}-[A-Z]{2})-[a-z]{2}_Text_v1_[0-9A-Z]{8}_[A-Z0-9]{14}.txt/gi;

let t = 'FDIP_en-gb-nn_Text_v1_YYYYMMDD_SequenceNumber.txt';

let dd = r.exec(t);


console.log(dd[1]);

这是群组捕获的示例

查看 regex 中的名称并且对象破坏名称是匹配的。

const { groups: { language } } = /FDIP_(?<language>[a-z]{2}-[A-Z]{2})-[a-z]{2}_Text_v1_[0-9A-Z]{8}_[A-Z0-9]{14}.txt/gi.exec('FDIP_en-gb-nn_Text_v1_YYYYMMDD_SequenceNumber.txt');

console.log(language);

关于javascript - 提取正则表达式名称的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58835836/

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