Regex Wordnet如何知道字符串是否是有效的查询字符串
因此,我无法从Wordnet::SenseRelate调用函数,因为文本中的一些“单词”不是有效的查询。我试着用try-and-catch来包围它,这样程序就不会退出并跳过它,但是没有运气。我想使用Wordnet::QueryData检查一个单词是否有效,但当我使用以下无效单词时,它将退出:Regex Wordnet如何知道字符串是否是有效的查询字符串,regex,perl,wordnet,Regex,Perl,Wordnet,因此,我无法从Wordnet::SenseRelate调用函数,因为文本中的一些“单词”不是有效的查询。我试着用try-and-catch来包围它,这样程序就不会退出并跳过它,但是没有运气。我想使用Wordnet::QueryData检查一个单词是否有效,但当我使用以下无效单词时,它将退出: $wn->querySense("#44"); 我得到: (querySense) Bad query string: #44 在语句中可以找到所使用的正则表达式: my ($word, $po
$wn->querySense("#44");
我得到:
(querySense) Bad query string: #44
在语句中可以找到所使用的正则表达式:
my ($word, $pos, $sense) = $string =~ /^([^\#]+)(?:\#([^\#]+)(?:\#(\d+))?)?$/;
如果对是否接受令牌有疑问,请根据此正则表达式对其进行测试
在评论特定问题时,不能有任何前导或尾随#字符(遇到的问题)。如果存在#个字符,则查询字符串中可以有1个或2个字符,但不能超过2个。#字符如果作为分隔符来确定什么是单词,什么是词性,什么是意义。我想这是冲突的,因为#和查询可以像狗一样说的方式#n#1,我最终删除了#出现点。。。