对于标记器,我的目标是将一个术语拆分,以便只获得单词(length>;1)。现在,为了涵盖单个字符,我想将所有紧跟其后的单个字符拉到一起,如下所示:
Q S. C Headquarter -> qsc headquarter
我使用python进行如下匹配:
pattern = re.compile(r"(?u)\b\w+\b")
pattern.findall("Q S. C Headquarter")
当然,我编译正则表达式是因为我必须多次拟合它。上面的模式将返回['Q'、'S'、'C'、'Headquarters'],而我希望返回['QSC'、'Headquartquarters']。你知道吗
我的评论/问题还没有答案,但假设可以在“连接字符词”中包含空格,您可以尝试以下正则表达式:
它测试
.
或
.
重复这个过程直到没有匹配为止。你知道吗
如果以上都没有
(注意!上面的字母实际上是regexword字符类——即ASCII字母、数字或下划线
_
。)第一个测试用一个字母或中间字母组成一个单词。第二,在一个正常单词前的最后一个字符,以避免捕获最后的空格。第三个测试是两个或更多字符的单词。我选择在这里测试非空格,而不是单词字符,以便能够获取首字母缩略词、缩写等。例如
Q&A
或e.g.
。它也捕捉到了和类似的东西。你知道吗See an example at regex101 here.
希望这有帮助。你知道吗
最后,如果空间绝对不能包含在内,我看不到其他方法,那么分两步来做。你知道吗
敬礼
相关问题 更多 >
编程相关推荐