在javascript中,我需要在自定义标记中获取文本。例如
[tag_ 转发 attr =“val”attr2 =“val”]
在这种情况下,我需要单词“转推”只跳过所有其他文本而另一个例子是,
[tag_的份额
在这里,我需要得到“分享”这个词。
那么在我的案例中获取标记名称的正则表达式是什么?
答案 0 :(得分:1)
捕获它的正则表达式将是:
/.*\[tag_(.*?)\W.*/
这匹配任何字符直到[tag_
的末尾,然后开始捕获任何字符,直到遇到非单词字符,然后是其他任何字符。该比赛仅包含重要部分。
使用它像:
myString.match(/.*\[tag_(.*?)\W.*/)[1]
答案 1 :(得分:1)
基本上,你正在寻找[tag_
后的内容,直到下一个空格(或标签的末尾)
所以:
var tag = '[tag_retweet attr="val" attr2="val"]';
// or var tag = '[tag_share]';
var match = tag.match(/\[tag_(.*?)[\] ]/)[1];
答案 2 :(得分:1)
像/\[tag_([a-z0-9_]+)(?:\s+|\])/
var tag = '[tag_retweet attr="val" attr2="val"]';
var match = tag.match(/\[tag_([a-z0-9_]+)(?:\s+|\])/);
window.alert(match[1]); // alerts "retweet"