【发布时间】:2015-04-13 03:32:44
【问题描述】:
我正在使用(非常棒的)"Autocomplete Menu" 为我验证一些 SQL 代码。自动完成菜单使用正则表达式来建议自动完成项目。
默认的正则表达式是
[\w\.]
对于带有空格边界的单词效果很好。本质上,我有一组 SQL 关键字,以及一组常用的表和字段。使用我们的数据库,我的查询需要为表名添加前缀。为了让它正常工作,我想要的是让自动完成菜单处理一个“。”作为空格。 IE。目前,如果我有一个名为“PEOPLE”的表,其中有一个名为“FIRST_NAME”的字段,我希望自动完成在以下位置触发: 人冷杉 给我“FIRST_NAME”选项。
即目前,如果我输入 FIR,它可以工作,但如果我输入 PEOPLE.FIR
则不能是否有任何人都可以建议的正则表达式来处理“。”作为单词边界?我尝试搜索一些正则表达式网站,但没有找到任何有用的东西。
【问题讨论】:
-
请解释一下您认为正则表达式
[\w.]是如何工作的。如果你理解它,解决方案是微不足道的。 -
你的意思是
[\w.]+? -
对不起 - 我错了。默认正则表达式是 [\w\.]。我是 Regex 的新手,但我知道方括号意味着它会查找括号内任何字符的匹配项。 \w 查找任何字母数字。这 \。匹配一个“.”也是。问题是我实际上并不想匹配一个“。”,我希望它被解释为空格(我想我可以在每个字段名前面加上一个“。”)。
-
@ainwood:是的,所以从字符类中删除点,这样它就不会匹配!
标签: regex