Javascript 正则表达式查找单词/特定单词前/后的两个单词
我想在html中找到一个单词,还想得到单词前后的单词。 使用(?:\S+\S)?\Stext\S(?:\S\S+)回答的问题?并使用c#。但不适用于javascript。Javascript看起来不支持Javascript 正则表达式查找单词/特定单词前/后的两个单词,javascript,regex,Javascript,Regex,我想在html中找到一个单词,还想得到单词前后的单词。 使用(?:\S+\S)?\Stext\S(?:\S\S+)回答的问题?并使用c#。但不适用于javascript。Javascript看起来不支持?:? 有什么想法吗 比如说 已有两年历史的社交营销平台Woobox最近在优惠券应用程序中增加了对苹果存折的支持。这种集成让企业可以使用其系统创建存折优惠券,甚至可以要求客户在获得优惠券之前进行某种社会活动。例如,他们可能不得不在Facebook上“喜欢”该品牌,或在Twitter上关注该品牌。但
?:
?有什么想法吗 比如说 已有两年历史的社交营销平台Woobox最近在优惠券应用程序中增加了对苹果存折的支持。这种集成让企业可以使用其系统创建存折优惠券,甚至可以要求客户在获得优惠券之前进行某种社会活动。例如,他们可能不得不在Facebook上“喜欢”该品牌,或在Twitter上关注该品牌。但该公司还刚刚增加了另一项功能,这可能会真正刺激小企业采用存折:通过短信支持存折优惠券 当我搜索“优惠券”时,我会得到四个结果:“它的优惠券应用程序”,“使用存折优惠券”,“优惠券”,“存折优惠券超过”如果
(?:\S+\s)?\S*text\S*(?:\s\S+)?
在JavaScript中不起作用,您使用它是错误的(或者您需要定义“工作”的含义)。很可能您没有使用正确的语法来构造正则表达式:
var myregexp = /(?:\S+\s)?\S*text\S*(?:\s\S+)?/;
或者如何在字符串中查找匹配项:
var match = myregexp.exec(subject);
if (match != null) {
result = match[0];
}
JavaScript确实支持语法
(?:…)
。它甚至支持对您的任务有用的功能,只是它不支持lookback。JavaScript确实支持(?:…)
-您的问题到底在哪里?请将整个问题放在这个问题中。不要让我们转到另一个问题来了解你在问什么。我应该转义“?:”像“\\?:”不,只有当你想匹配一个问号和一个colonmy代码时,才可以使用其他regexp,但使用这个regex无法得到错误结果。当搜索“或”但得到“世界”时,我不明白你在那里写了什么。我怀疑你想使用单词边界(搜索\bor\b
而不是或
)。我搜索“优惠券”,它工作正常,可以得到类似“优惠券”的结果,但也可以得到“优惠券”,所以我在搜索单词前后添加“\b”,然后只能得到“优惠券”,不要包含“优惠券”周围的词语。@atu0830:这没有帮助。你写的东西语无伦次,不完整。请用几个例子来编辑你的问题,比如你有什么文本,你做了什么或不想匹配什么部分,你用什么正则表达式,以及正则表达式没有按照你的预期做什么。