gpt4 book ai didi

javascript - 正则表达式在包含点的代码之间获取字符串

转载 作者:行者123 更新时间:2023-11-30 13:45:05 25 4
gpt4 key购买 nike

我正在尝试编写一个正则表达式,它返回一个介于 `` 和包含一个点之间的字符串。例如:我想获取位于字符串 "`"之间的字符串

和“`”并包含一个点 (.)

My names is `James.Bond`.

会回来

James.Bond

我的名字是詹姆斯·邦德

是错误的,因为它不包含点(.)

但我是正则表达式的新手。

我能做到这一点

/`([^.)]+`)/ 

这将返回

            `James Bond`

最佳答案

你可以使用

/`([^`.]*\.[^`.]*)`/g

参见 regex demo .

详情

  • ` - 反引号
  • ([^`.]*\.[^`.]*) - 第 1 组:除反引号和点之外的 0+ 个字符,一个点,以及 0+ 个其他字符而不是反引号和点
  • ` - 反引号。

JS 演示:

var text = "My name is `James.Bond`. His name is `Jack.Smith`. Her name is `Whats.Her.Name`";
var rx = /`([^`.]*\.[^`.]*)`/g;
var results=[], m;
while(m=rx.exec(text)) {
results.push(m[1]);
}
console.log(results);

带有 .matchAll 的代码片段:

let text = "My name is `James.Bond`. His name is `Jack.Smith`. Her name is `Whats.Her.Name`";
let matchData = [...text.matchAll(/`([^`.]*\.[^`.]*)`/g)];
console.log(Array.from(matchData, m => m[1]));

关于javascript - 正则表达式在包含点的代码之间获取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59490781/

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