正则表达式查找字母和特定的可选字符
问题描述:
我需要一个匹配至少包含一个字母的字符串的正则表达式A-Z
以及可选的任意数字和组合.-¤
(点,短划线和“sun”(它在英语中称为什么? ))。正则表达式查找字母和特定的可选字符
匹配的字符串会
A
AB
A-.
¤A
但不是
-.
¤
,因为他们没有收到任何信件。
我的第一次尝试当然是^[A-Z¤-.]*$
,但它匹配没有字母的字符串。
[A-Z]+
与至少一个字母
[¤.-]*
匹配字符串可能有¤.-
在他们
我一直在努力,这两个最后的多种方式结合起来,但还没有设法解决匹配字符串我的问题。
当我不能指望字母和字符之间有任何特定的顺序时,是否有办法将这两个最后的正则表达式结合起来?同时排除任何其他字符?
也许群体或非捕获群体与它有关,但我还没有完全理解这些。
PS我正在使用DB2函数REGEXP_LIKE
来实现它。
答
您可以使用
^[A-Z.¤-]*[A-Z][A-Z.¤-]*$
详细
-
^
- 0+大写字母,.
,¤
或-
-
[A-Z]
- - 一个upperca串 -
[A-Z.¤-]*
开始SE信 -
[A-Z.¤-]*
- 0+大写字母,.
,¤
或-
-
$
- 字符串的结尾。