首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过Javascript regex选择所有不是特定单词的单词?

通过Javascript regex选择所有不是特定单词的单词?
EN

Stack Overflow用户
提问于 2011-12-02 22:38:52
回答 4查看 807关注 0票数 2

除了'Lorem‘这个词外,我想选择每个单词。

我试过:

代码语言:javascript
运行
复制
^((?!Lorem).*)$ //nothing is selected.
^((?!test).*)$ //entire paragraph is selected.

文本: Lorem ipsum dolor,Lorem ipsum dolor,consectetur adipiscing elit.这是一种很好的方法。库拉比图尔对一条白斑蛇进行审判。莫比和狮子座的不允许饮食。纳姆拉库斯湖,在条件和条件下,累积无无。乌贼,乌贼。在维里特,三位一体的不,港口在紫色。长春花,非苏打水,非苏铁。[医]同[同][1][1]同[同][1]例[1][1][1][1][1][1][1][1][1][1][1][1][1]同[同][1][1][1][1][1][1][1][1]同[同][1][1][1][1][1][1][1][1][1][1][1][1]赤霉病( Fusce mattis ultricies lORem adipiscing )在发酵中,长尾叶蜂坐席,前庭前庭,边缘等。Nunc eget lorem在leo commodo porta feugiat vel quam。南汽,白板,电子吞吐明渠在。Nullam augue neque,lacinia quis commodo a .库拉比图尔·欧盟的三位一体。在狮子座,水母( Phasellus,sem ),小木耳( odio ligula posuere mauris ),独角兽( sollicitudin pharetra massa tortor )。在刚玉中的拍卖人。Nullam非合作猫科动物。草皮前庭在大皮紫花苜蓿上进行皂角运动。[医]肉桂,[医][医].

测试at: http://regexpal.com/

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-12-02 22:48:17

这将获得文本中的所有单词,但 Lorem除外。

代码语言:javascript
运行
复制
result = subject.match(/\b(?!Lorem\b)\w+\b/g);

不知道这是不是你要找的!

解释:

代码语言:javascript
运行
复制
// \b(?!\bLorem\b)\w+\b
// 
//    Assert position at a word boundary «\b»
//    Assert that it is impossible to match the regex below starting at this position (negative lookahead) «(?!\bLorem\b)»
//    Match the characters “Lorem” literally «Lorem»
//    Assert position at a word boundary «\b»
//    Match a single character that is a “word character” (letters, digits, etc.) «\w+»
//    Between one and unlimited times, as many times as possible, giving back as needed (greedy) «+»
//    Assert position at a word boundary «\b»
票数 3
EN

Stack Overflow用户

发布于 2011-12-02 22:44:29

你是说你想要创建一个段落的副本,删除冒犯的单词?为此,您可以使用:

代码语言:javascript
运行
复制
var filtered = paragraph.replace(/\bLorem\b/g, '');

基于以下评论更新:噢,所以您需要:

代码语言:javascript
运行
复制
var filtered = paragraph.replace(/\b(?!Lorem\b)(\w+)/g, 'matched word:$1');
票数 2
EN

Stack Overflow用户

发布于 2011-12-02 22:50:03

不需要正则表达式:

代码语言:javascript
运行
复制
s.split('Lorem').join('');

当然,对于不区分大小写的版本,您需要一个:

代码语言:javascript
运行
复制
s.split(/Lorem/i).join('');

如果“选择”是指您想要一个包含lorem以外的每个单词的数组,则接受上面的输出并在一个单词边界上拆分,例如\s+或\b。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8363590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档