Mysql 带有特殊字符的正则表达式全大写

Mysql 带有特殊字符的正则表达式全大写,mysql,regex,Mysql,Regex,我有一个正则表达式“^[A0-Z9]+$”,它会一直工作,直到到达带有句点或破折号等“特殊”字符的字符串 名单: 给出: UPPER TEST UPPER2 我如何让正则表达式也忽略非字母数字字符,使其也包含大写2.2-1 我在这里有一个链接显示它的“实时”: 这是针对MySQL正则表达式的 编辑:我没有指定我想要所有的非字母数字字符(包括空格),但在其他人的帮助下,我找到了:“^[A-Z-0-9[:punt:][:space:][space:][+$”这有什么问题吗?你只需要输入和-。理论上

我有一个正则表达式“^[A0-Z9]+$”,它会一直工作,直到到达带有句点或破折号等“特殊”字符的字符串

名单:

给出:

UPPER
TEST
UPPER2
我如何让正则表达式也忽略非字母数字字符,使其也包含大写2.2-1

我在这里有一个链接显示它的“实时”:

这是针对MySQL正则表达式的


编辑:我没有指定我想要所有的非字母数字字符(包括空格),但在其他人的帮助下,我找到了:“^[A-Z-0-9[:punt:][:space:][space:][+$”这有什么问题吗?

你只需要输入
-
。理论上,你不需要逃避,因为它们在括号内,但我想提醒自己在必要时逃避

'^[A-Z0-9\.\-]+$'

您只需输入
-
。理论上,你不需要逃避,因为它们在括号内,但我想提醒自己在必要时逃避

'^[A-Z0-9\.\-]+$'
试一试

您只需要将特殊字符添加到组中,可以选择转义它们

此外,如果您选择不转义
-
,请注意它应该放在分组表达式的开头或结尾,以避免它可能被解释为限定范围


对于更新后的问题,如果您想要所有非空白,请尝试使用以下组:

^[^ ]+$
除了一个空间外,它将匹配所有东西

如果您想要的是所有非空格和非小写字母,则可能需要使用:

^[^ a-z]+$
这里使用的“技巧”是在组表达式中的开头
[
后添加插入符号。这表示我们希望匹配项的否定

按照这种模式,我们还可以应用这种“技巧”来获取除小写字母以外的所有字母,如下所示:

^[^a-z]+$
我不确定你想要上面3个中的哪一个,但如果没有其他的,这应该是一个很好的例子,说明你可以用字符类做什么。

试试看

您只需要将特殊字符添加到组中,可以选择转义它们

此外,如果您选择不转义
-
,请注意它应该放在分组表达式的开头或结尾,以避免它可能被解释为限定范围


对于更新后的问题,如果您想要所有非空白,请尝试使用以下组:

^[^ ]+$
除了一个空间外,它将匹配所有东西

如果您想要的是所有非空格和非小写字母,则可能需要使用:

^[^ a-z]+$
这里使用的“技巧”是在组表达式中的开头
[
后添加插入符号。这表示我们希望匹配项的否定

按照这种模式,我们还可以应用这种“技巧”来获取除小写字母以外的所有字母,如下所示:

^[^a-z]+$

我不确定您想要上面3个中的哪一个,但如果没有其他选择,这应该是一个很好的示例,说明您可以对字符类执行哪些操作。

尝试如下正则表达式:

   '^[A0-Z0\\.\\-]+$'

请尝试以下正则表达式:

   '^[A0-Z0\\.\\-]+$'

我相信您正在寻找(一个?)大写单词匹配,其中单词几乎是任何东西

^[^a-z\s]+$
…或者如果您想允许更多带空格的单词,那么可能只是

^[^a-z]+$

我相信您正在寻找(一个?)大写单词匹配,其中单词几乎是任何东西

^[^a-z\s]+$
…或者如果您想允许更多带空格的单词,那么可能只是

^[^a-z]+$


好的。在这种情况下不需要转义;)(点在字符类中永远不需要转义,连字符如果是最后一个字符就不需要转义)我的理论是,即使你不需要逃逸,也要记得在你需要逃逸的时候逃逸。但也许那只是我……同意@m.buettner的说法,你不需要在字符类中逃逸特殊字符。还有初始字符类(
A0-Z9
)还是一团糟;)我觉得很奇怪,但我想可能是一些我从未见过的wierd regex语法。再次修复。好的。在这种情况下,不需要转义;)(点永远不必在字符类中转义,连字符如果是最后一个字符,则不必转义)我的理论是,即使你不需要逃逸,也要记得在你需要逃逸的时候逃逸。但也许那只是我……同意@m.buettner的说法,你不需要在字符类中逃逸特殊字符。还有初始字符类(
A0-Z9
)还是一团糟;)我觉得很奇怪,但我认为这可能是我从未见过的wierd正则表达式语法。再次修复。您是否知道
[A0-Z9]
匹配任何数字、任何大写字母加上以下任何一项:
:;=?@
(因为它以ASCII顺序创建了从0到Z的范围)?更新了上面的问题,您是怎么做的^[A-Z-0-9[:punct:[:space:][]+$'看?除了小写字母之外,你什么都要?@davidebbe,你是只想要所有的非空格,还是只想要所有的非小写和空格?我基本上是想找到所有的大写字母,它们可以是一个以上的单词,字符如下“,。-+=。我想除了小写以外,其他都可以。你知道
[A0-Z9]
匹配任何数字,任何大写字母加上以下任何一项:
:;=?@
(因为它以ASCII顺序创建了从0到Z的范围)?更新了上面的问题,“^[a-Z-0-9[:punct:[:space:]+$'看?除了小写字母,你什么都想要?@Davidebbe,你是想要所有的非空格,还是所有的非小写和空格?我基本上是想找到所有可以是多个单词的大写字母,比如“,。-+=。我想除了小写以外的所有东西都应该起作用。他也需要空格。否则,我想就是这样。他也需要空格。否则,我想就是这样。我想他甚至想要空格。我想他甚至想要空格。