仅用于数字的Java正则表达式

仅用于数字的Java正则表达式,java,regex,Java,Regex,我正在为mysql开发个人自定义文本编辑器,这是我的问题: 这就是我目前使用的,它将突出显示任何数字,我想排除直接连接到任何字母[A-Za-z]的数字,任何其他符号都不重要,因为其中一些是算术符号 private static final String NUMBER_PATTERN=“[0-9]+”使用此正则表达式仅选择未连接到任何文本的数字 \b\d+\b \d+允许任意位数 \b开头和结尾定义了一个单词边界,使其与text12、9gag、4chan等单词不匹配 演示: 你想要的是在你

我正在为mysql开发个人自定义文本编辑器,这是我的问题:

这就是我目前使用的,它将突出显示任何数字,我想排除直接连接到任何字母[A-Za-z]的数字,任何其他符号都不重要,因为其中一些是算术符号


private static final String NUMBER_PATTERN=“[0-9]+”

使用此正则表达式仅选择未连接到任何文本的数字

\b\d+\b
  • \d+
    允许任意位数
  • \b
    开头和结尾定义了一个单词边界,使其与
    text12
    9gag
    4chan
    等单词不匹配
演示:

你想要的是在你的正则表达式中有一个“积极的向后看”的结构

"[0-9]+(?<=[a-zA-Z])"
不匹配:

the 9 in "9A"; 
the 10 in "+10"
the 10 in " 10"

仅用于数字的Java正则表达式是


字符串regex=“[a-z]”//(每个点后面都有*),然后使用variable.matches(regex),如果它包含a-z,它将返回true;如果它只包含数字,它将返回false;

可能重复的
\b\d+\b
?演示:@degant这似乎是对meThis的回答,但事实并非如此。正则表达式匹配“any character”,后跟“a和z之间的小写拉丁字母”,后跟“any character”。它与您所说的“仅数字”不匹配。你说“每个点后面都有*”是什么意思?我看不到*。点匹配单个字符。点星匹配0个或多个字符。也许这里最大的问题是你没有真正回答被问到的特定问题(那也不是很好)。我很抱歉否决了你的第一个答案,但至少你知道为什么。
the 9 in "a9"; 
the 10 in "B10"; 
the 9 in "a9A"
the 9 in "9A"; 
the 10 in "+10"
the 10 in " 10"