javascript - 使用正则表达式获取两个没有空格的空间字符之间的一些字符

标签 javascript regex

例如: 我想要得到 *created by:**M* 并且不要得到 *proudly **自豪*( ** 附近有空格)与 javascript 中的正则表达式。

//not work
let c = "RegExr was *created by:* gskinner.com, and is *proudly *hosted by *M*edia Temple.";
const regExr = /(\*\*)([^\s|\*])+([^\s|\*])(\*\*)/g;

这项工作(tnx for @Wiktor Stribiżew)

const regExr = /\*([^*]*[^*\s])\*/g;

但不工作:*自豪地*

我改为 -> /\*([^*\s]*[^*\s])\*/g

但不要得到 -> *创建者:*

最佳答案

首先,match *filter 之间的所有结果最后一个之前不包含空格的结果 (*)

let c ="RegExr was *created by:* gskinner.com, and is *proudly *hosted by *M*edia Temple.";
const regExr = /(\*)(.+?)\1/g;

const result = c.match(regExr).filter((el) => !el.match(/\*.+\s\*/));

console.log(result);

关于javascript - 使用正则表达式获取两个没有空格的空间字符之间的一些字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67672139/

相关文章:

javascript - 当箭头函数只是返回它所采用的值时,为什么它会作为参数发送?

javascript - 加载 Webpack 包,同时将所有 CSS 保留在本地

php - 如何替换字符串中的第 n 次出现

javascript - 单词边界与 Javascript 中的开头或结尾不匹配

PHP preg_replace问题

javascript - 单击动态生成的元素不工作jquery

javascript - 当我在数字类型文本框中输入 float 时,Firefox 显示错误

ruby - 一个哈希中的多个子哈希

regex - 正则表达式量词加号和星号的区别

javascript - 在 Javascript 的 For 循环中从另一个数组填充数组