以下链接似乎表明" [a-zA-Z] *"应该只匹配零个或多个字母字符。
https://msdn.microsoft.com/EN-US/library/office/ff192499.aspx
然而,在测试中它似乎返回了我不期望的结果;例如,包含空格。
Select * from table1 where name like 'r[a-zA-Z]* e[a-zA-Z]*'
只应返回名字字段中连续的单词,其中第一个单词以r开头,没有或多个字母字符用空格分隔,第二个单词以e开头。
但执行此语句将返回以下内容(结果集中的一些示例)
有没有办法让搜索完全按照我的期望返回?我不理解的是什么?
答案 0 :(得分:1)
这不是正则表达式。 *
不适用于[a-zA-Z]
。
r[a-zA-Z]* e[a-zA-Z]*
被解释为:
r
e
不幸的是你必须使用这样的东西:
Select * from table1 where name like "r*" and mid(name , instr(name , " ") + 1, 1) = "e"
这不是很漂亮,也不是你想要的。