Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 检查字符串的前两个字符是否为a-Z字母_Regex_Oracle - Fatal编程技术网

Regex 检查字符串的前两个字符是否为a-Z字母

Regex 检查字符串的前两个字符是否为a-Z字母,regex,oracle,Regex,Oracle,我的表中有一列包含汽车牌照号码(在源数据中没有以任何方式验证) 要使许可证号有效,前两个字符必须是大写字母(A-Z) 我尝试在WHERE子句中添加以下内容: AND REGEXP_LIKE(SUBSTR(auto.license, 1, 2), '[A-Z]') …但我仍然在输出数据集中得到无效的组合 有什么帮助吗?怎么样 AND REGEXP_LIKE(SUBSTR(auto.license, 1, 2), '[A-Z][A-Z]') 那怎么办 AND REGEXP_LIKE(SUBSTR

我的表中有一列包含汽车牌照号码(在源数据中没有以任何方式验证)

要使许可证号有效,前两个字符必须是大写字母(A-Z)

我尝试在WHERE子句中添加以下内容:

AND REGEXP_LIKE(SUBSTR(auto.license, 1, 2), '[A-Z]')
…但我仍然在输出数据集中得到无效的组合

有什么帮助吗?

怎么样

AND REGEXP_LIKE(SUBSTR(auto.license, 1, 2), '[A-Z][A-Z]')
那怎么办

AND REGEXP_LIKE(SUBSTR(auto.license, 1, 2), '[A-Z][A-Z]')
你的模式

AND REGEXP_LIKE(SUBSTR(auto.license, 1, 2), '[A-Z]')
仅检查前两个字符中是否有一个A-Z,而不是两个字符都是

您不需要额外的子字符串步骤,可以执行以下操作:

AND REGEXP_LIKE(auto.license, '^[A-Z]{2}')
插入符号
^
锚定到字符串的开头,而
{2}
与前面的模式匹配两次。如果要匹配除英语以外的其他语言(或字符集?)中的大写字符,这些语言的大写字母范围不同,并且不只是覆盖ASCII范围a-Z,则可以使用:

AND REGEXP_LIKE(auto.license, '^[[:upper:]]{2}')
,和。

您的模式

AND REGEXP_LIKE(SUBSTR(auto.license, 1, 2), '[A-Z]')
仅检查前两个字符中是否有一个A-Z,而不是两个字符都是

您不需要额外的子字符串步骤,可以执行以下操作:

AND REGEXP_LIKE(auto.license, '^[A-Z]{2}')
插入符号
^
锚定到字符串的开头,而
{2}
与前面的模式匹配两次。如果要匹配除英语以外的其他语言(或字符集?)中的大写字符,这些语言的大写字母范围不同,并且不只是覆盖ASCII范围a-Z,则可以使用:

AND REGEXP_LIKE(auto.license, '^[[:upper:]]{2}')

,和。

我做了一些测试,但是这里的查询返回
Ab
,你知道为什么吗?“
[a-Z]{2}”和
[a-Z][a-Z]
之间也有区别吗?看起来正确的答案应该是
'^[:upper:]{2}')
,奇怪的部分是
[a-Z]
不区分大小写@JuanCarlosOropeza-我提到过使用
:upper:
来表示其他语言(英语除外,我没有具体说明!)。该站点默认为德语。看见(另外,不,在
[A-Z]{2}
[A-Z][A-Z]
之间没有真正的区别,只是避免重复模式-当然,使用更高的数字会产生更大的差异)我做了一些测试,但这里的查询返回
Ab
,你知道为什么吗?“
[a-Z]{2}”和
[a-Z][a-Z]
之间也有区别吗?看起来正确的答案应该是
'^[:upper:]{2}')
,奇怪的部分是
[a-Z]
不区分大小写@JuanCarlosOropeza-我提到过使用
:upper:
来表示其他语言(英语除外,我没有具体说明!)。该站点默认为德语。看见(同样,没有,在
[A-Z]{2}
[A-Z][A-Z]
之间没有真正的区别,只是避免重复模式-当然,数字越大,差异越大)