Javascript 使用正则表达式提取单词

Javascript 使用正则表达式提取单词,javascript,regex,Javascript,Regex,我是新加入RegEx的,但是在我的项目中使用它会非常有用。我想在Javascript中做的是: 我有这样一个字符串/this/is/an/示例,我想提取该字符串的每个单词,也就是说: /这是一个例子->这是一个例子。然后使用每个单词 到目前为止,我做到了: var str = "/this/is/a/test"; var patt1 = /\/*/g; var result = str.match(patt1); document.getElementById("demo").innerHTM

我是新加入RegEx的,但是在我的项目中使用它会非常有用。我想在Javascript中做的是:

我有这样一个字符串/this/is/an/示例,我想提取该字符串的每个单词,也就是说:

/这是一个例子->这是一个例子。然后使用每个单词

到目前为止,我做到了:

var str = "/this/is/a/test"; 
var patt1 = /\/*/g;
var result = str.match(patt1);
document.getElementById("demo").innerHTML = result;
它返回给我:/,,,/,,/

我知道,如果我可以通过使用search来识别每个/的位置,那么接下来我必须使用.slice函数,但使用search它只会返回第一个/的索引,在本例中是0

我不知道

有什么想法吗

提前谢谢

使用拆分

split方法将字符串对象拆分为字符串数组,方法是将字符串拆分为子字符串,并使用指定的分隔符字符串确定在何处进行每次拆分

var str=/this/is/a/test; var数组=str.split'/'; console.logarray 使用拆分

split方法将字符串对象拆分为字符串数组,方法是将字符串拆分为子字符串,并使用指定的分隔符字符串确定在何处进行每次拆分

var str=/this/is/a/test; var数组=str.split'/';
console.logarray 嗯,我想这取决于你对“单词”的定义,有一个“单词字符”匹配可能是你想要的:

var patt1 = /(\w+)/g;
完整的JS示例:

var str=/this/is/a/test; var patt1=/\w+/g; var match=str.matchpatt1; var输出=match.join;
console.logoutput 嗯,我想这取决于你对“单词”的定义,有一个“单词字符”匹配可能是你想要的:

var patt1 = /(\w+)/g;
完整的JS示例:

var str=/this/is/a/test; var patt1=/\w+/g; var match=str.matchpatt1; var输出=match.join; console.logoutput 您可以使用这个正则表达式:/\b[^\d\W]+\b/g,让特定的单词只访问数组中的索引。e、 g结果[0]==此

var str=/this/is/a/test; 变量patt1=/\b[^\d\W]+\b/g; var result=str.matchpatt1; document.getElementByIddemo.innerHTML=结果; 您可以使用这个正则表达式:/\b[^\d\W]+\b/g,让特定的单词只访问数组中的索引。e、 g结果[0]==此

var str=/this/is/a/test; 变量patt1=/\b[^\d\W]+\b/g; var result=str.matchpatt1; document.getElementByIddemo.innerHTML=结果;
因此,实际上您并不想“匹配单词”,但您只想在/字符处拆分给定的文本。。。如何做到这一点,应该很容易研究。看起来您正在寻找str.split方法。或者str.match/[^\/]+/gstr.split/;因此,实际上您并不想“匹配单词”,但您只想在/字符处拆分给定的文本。。。如何做到这一点,应该很容易研究。看起来您正在寻找str.split方法。或者str.match/[^\/]+/gstr.split/;他在问如何处理这件事regex@StefansArya:在这种情况下,这就像问如何用黑线鳕钉钉子。使用正确的工具进行作业。正确的工具是split@StefansArya更新了解决方案,我认为拆分将是更好的方法。谢谢!事实上,这是一种分裂。我在尝试正则表达式时忘记了这个解决方案。@MattBurland:事实上我知道,但问题是关于正则表达式的。你认为如果你用split来回答这个问题,这不是不可能的吗?他问的是如何处理这个问题regex@StefansArya:在这种情况下,这就像问如何用黑线鳕钉钉子。使用正确的工具进行作业。正确的工具是split@StefansArya更新了解决方案,我认为拆分将是更好的方法。谢谢!事实上,这是一种分裂。我在尝试正则表达式时忘记了这个解决方案。@MattBurland:事实上我知道,但问题是关于正则表达式的。如果你用split来回答,你认为这不属于主题吗?@E.B如果你想让正则表达式识别数字,只需删除\d@E.B如果希望正则表达式识别数字,只需删除\d