这把我吓坏了,我就是找不到解决办法。我有一个搜索查询的语法,并且想匹配由可打印字母组成的查询中的任何搜索词,特殊字符“(”,“)”除外。引号中的字符串被单独处理并起作用。
问题是 searchterm 太受限制了。它应该匹配注释掉的 NOT_SPECIAL 中的任何字符,即,有效查询将是:
Person Name=% Person Address=^%Street%%%$^&*@^
但是每当我尝试以任何方式将 NOT_SPECIAL 放入 searchterm 的定义中时,它都不起作用。我也尝试过将它逐字地放入规则中(注释掉 NOT_SPECIAL)和许多其他东西,但它就是行不通。在我的大多数尝试中,语法只是抱怨“=”之后的无关输入,并表示它期待 EOF。但我也不能将 EOF 放入 NOT_SPECIAL。
有什么方法可以简单地解析规则字段搜索中“=”之后的每个文本,直到出现空格或“)”、“(”?
注意 STRING 规则工作正常,但用户不应该每次都使用引号,因为这是一个命令行工具,他们需要转义。
目标语言是围棋。
catspeake
相关分类