Javascript 如何使用正则表达式提取以下标记?
例如,假设#表示一个特殊单词,如下所示 我今天到动物园去了一次愉快的旅行。我们玩得很开心。使用正则表达式是否可以提取以下内容Javascript 如何使用正则表达式提取以下标记?,javascript,regex,Javascript,Regex,例如,假设#表示一个特殊单词,如下所示 我今天到动物园去了一次愉快的旅行。我们玩得很开心。使用正则表达式是否可以提取以下内容 #lovely#zoo#wonderful 使用string.match var str = "I took a #lovely trip to the #zoo today. We had a #wonderful time" str.match(/#\w+/g); // #lovely,#zoo,#wonderful 可能需要根据需要调整正则表达式以包含数字和符
#lovely#zoo#wonderful
使用
string.match
var str = "I took a #lovely trip to the #zoo today. We had a #wonderful time"
str.match(/#\w+/g); // #lovely,#zoo,#wonderful
可能需要根据需要调整正则表达式以包含数字和符号
/#[\w\d]+/g
表示字母和数字,/#\S+/g
表示非空白的内容
编辑:我要补充的是,结尾的
g
意味着它将查找所有匹配项,而不仅仅是第一个匹配项。这里有正则表达式的答案。然后是拆分
答案。以下工作:
var s = 'I took a #lovely trip to the #zoo today. We had a #wonderful time.'
var tags = s.split( '#' ).map( function ( str ) {
return str.split( ' ' )[ 0 ]
} )
// Now, tags[0] is not good, so let's splice it
tags.splice( 0, 1 )
console.log( tags ) // ['lovely', 'zoo', 'wonderful']
所以,是的,它比正则表达式的解决方案要详细一点。不过我觉得它更优雅
你猜对了,我不喜欢正则表达式
\n&*nhj23
也应该匹配吗?你真的觉得这个乱七八糟的东西比四个字符的正则表达式更优雅吗?我不喜欢正则表达式。我不认为这是一团糟。我确实喜欢正则表达式,因为它们是手头工作的合适工具,而现在正是这样的时候。