gpt4 book ai didi

Javascript正则表达式匹配各种字符串

转载 作者:行者123 更新时间:2023-11-28 16:32:34 25 4
gpt4 key购买 nike

我有一个无法解决的问题。我有包含主题标签的字符串,例如“#question”或“#idea”。

问题是如何提取主题标签?

var hashtag = str.match(/#question?#idea?/i);

这个正则表达式正确吗?

最佳答案

你的线路

var hashtag = str.match(/#question?#idea?/i);

检查字符串是否包含文字 #questio ,可选地后跟 n ,然后是 #ide ,可选地后跟 a 。如果是这样的话,hashtag[0]将包含匹配的文本。这显然不是你想要的。

试试这个:

// match a #, followed by either "question" or "idea"
var myregexp = /#(question|idea)\b/i;
var match = myregexp.exec(subject);
if (match != null) {
result = match[1]; // will contain "question" or "idea"
} else {
result = "";
}

\b正则表达式的末尾是单词边界 anchor 。它确保只有 #question但不是#questionnaire将被匹配。

如果您事先不知道主题标签的名称,请使用

var myregexp = /#(\w+)/;

(这允许 ASCII 字母、数字和下划线作为可能的主题标签字符 - 我不知道这些是否是唯一有效的字符。如果不是,您可以使用字符类。例如,也允许破折号:

var myregexp = /#([\w-]+)/;

关于Javascript正则表达式匹配各种字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5377087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com