英文文章中过滤单词

WBOY
发布: 2016-08-26 10:28:23
原创
1952 人浏览过

这是一段英文字符串

<code>When I was young,my uncle king of the jungle,one day he call me,and say we walk to the river,i asked why?
my uncle say, you must learn how to cherish the water.</code>
登录后复制
登录后复制

我想写一个只要该单词就能可以的正则表达式
这是我写的。

<code>[^a-zA-Z]young[^a-zA-Z]</code>
登录后复制
登录后复制

可是找不到文章第一个单词
英文文章中过滤单词

在线正则表达式

回复内容:

这是一段英文字符串

<code>When I was young,my uncle king of the jungle,one day he call me,and say we walk to the river,i asked why?
my uncle say, you must learn how to cherish the water.</code>
登录后复制
登录后复制

我想写一个只要该单词就能可以的正则表达式
这是我写的。

<code>[^a-zA-Z]young[^a-zA-Z]</code>
登录后复制
登录后复制

可是找不到文章第一个单词
英文文章中过滤单词

在线正则表达式

[^a-zA-Z] 改成 [^a-zA-Z]? 就可以了啊

<code>(^|[^a-zA-Z])you([^a-zA-Z]|$)
</code>
登录后复制

英文文章中过滤单词

(^|[^a-zA-Z])When([^a-zA-Z]|$) 我觉得这样就可以了,考虑了第一个单词和最后一个单词的情况,其实我觉得最简单的方式还是你在字符串的头部和尾部个加上一个空格或者其他一个特别的字符,这样你原来的正则就能成功匹配到了。

[^a-zA-Z]这个模式匹配一个 非“a到z或A到Z”的字符 ,When的前面并没有字符,自然匹配不到了。其他匹配到的单词也是匹配到了一个空格的。

如果你并不想空格,其实可以用转义字符b来匹配单词边界,这个转义字符可以匹配开头、结尾以及空格、标点形成的单词边界,本身并不会匹配到任何多余的字符。

\bWhen\b就可以了。

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板