我试图捕捉所有非单词字符之间的英文单词(只是纯[a-z]+)
所以这一行:
"你好" means "Hello" and "再见" is "See you".hello_me bye-you what6 58then end_of_this
将返回:
意思是,和,是,你,你好,我,再见,你,什么,然后,结束,的,这个
除了a-z,单词可以有任何环境
我想到了这个:
(?:[\s_\d\"\'-])?([a-z]+)(?:[-\s_\d\"\'])?
然而,它匹配'ello'在你好,但我想完全忽略非小写的话
如果模板设计允许使用忽略大小写标志,则也会很好
(?i)(?:[\s_\d\"\'-])?([a-z]+)(?:[-\s_\d\"\'])?
以在仅小写匹配项和所有匹配项之间轻松切换
2条答案
按热度按时间pod7payv1#
这对于示例是有效的。可能漏掉了一些边缘案例...
输出:
k7fdbhmy2#
这似乎并不难。
之前已经描述了用
(?<![a-zA-Z])
表示的自定义单词边界(?![a-zA-Z])
之后(?<![a-zA-Z])[a-z]+(?![a-zA-Z])
代码样本
输出量