我在使用mysql的个人自定义文本编辑器,这是我的问题:
这是我目前使用的,它会突出显示任何数字,我想排除直接连接到任何字母[A-Za-z]的数字,任何其他符号都不重要,因为其中一些是aritmetic符号。
private static final String NUMBER_PATTERN = "[0-9]+";
答案 0 :(得分:2)
使用此正则表达式仅选择未连接到任何文本的数字
\b\d+\b
\d+
允许任意数量的数字\b
在开头和结尾定义一个字边界,使其与text12
,9gag
,4chan
等字词不匹配演示:https://regex101.com/r/Fzm2PS/2
// Will match 12, 34,
// Will not match text12, string, 9gag
答案 1 :(得分:0)
你想要的是一个积极的后视"在你的REGEX中构建。
"[0-9]+(?<=[a-zA-Z])"
匹配:
the 9 in "a9";
the 10 in "B10";
the 9 in "a9A"
不匹配:
the 9 in "9A";
the 10 in "+10"
the 10 in " 10"
答案 2 :(得分:-1)
仅限数字的Java正则表达式
String regex =&#34;。 [a-z]。&#34; //(在每个点之后有*)然后使用variable.matches(regex),如果它包含a-z则返回true,如果它只包含数字则返回false