我试图让单词的所有部分以“ X”开头,并以空格(或句子的结尾)结尾。
到目前为止,我的正则表达式为/X[^\s]*($|\b)/g
。 (我正在使用空格,因为如果X是一个完整的单词,以后我将改进表达式以捕获以下单词)。
示例:
let x = /X[^\s]*($|\b)/g;
let s = 'Xtrem koiXp lloX';
let m = s.match(x); // [ "Xtrem", "Xp", "X" ]
但是如果单词包含多个'X',例如'XkoXkb'
,则只有'XkoXkb'
是匹配的,而我想拥有['XkoXkb', 'Xkb']
。
搜索后,似乎正则表达式组和类似matchAll
的其他函数可能可以解决我的问题,但是当单词(kind)中有N 'X'
时,我无法提出解决方案递归解决方案)。