java - Java正则表达式中的匹配字符

标签 java regex

我想提取一些没有星号的数字,下面是例子:

1
0
0*1543
27 123*5464
11 1007*
998*7586
13
997*686

我试过使用这个正则表达式和其他一些,但都没有用:

(\d+)[^\*]

我正在寻找的是获取所有数字,除非它们后跟星号。输出应该是这样的:

1
0
27
11
13

我的计划是编写正则表达式并使用组来提取这些值。我正在使用 this site测试我的正则表达式。

更新: 我不是在寻找匹配 * 之后的数字,这意味着我只想要行首的数字。谢谢

更新二:

之后进一步挖掘正则表达式给出的匹配项(来自 Dr.Kameleon)

(?<!\*)(?<![0-9])([0-9]+(?!\*)(?![0-9])) 

我得到了一个额外的匹配项,如下所示:

http://regexr.com?30l69

我不想匹配 505222*123 505 .所有其他比赛都完美匹配。

看起来这个正则表达式需要稍微调整一下,但我无法调整它,即 (?<!\*)(?<![0-9])(?<!\\s)([0-9]+(?!\*)(?![0-9]))

最佳答案

试试这个:(演示:http://regexr.com?30l47)

([0-9]+(?!\*)(?![0-9]))

或这个(如果您只想要第一部分,如您的示例所示)- http://regexr.com?30l4a :

(?<!\*)(?<![0-9])([0-9]+(?!\*)(?![0-9]))

关于java - Java正则表达式中的匹配字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10157112/

相关文章:

java - 如何在spring中创建模块

java - 测试连接无法正常工作

java - Java中使用正则表达式匹配字符串并生成序列

php - 允许在 php 聊天中换行 - MySQL PHP

java - 获取除 to_date 模式之外的绑定(bind)名称

java - 不支持 TrueTypeFont.drawString()

java - 如何在android中从Firebase获取List的值?

java - 如何使用 ajax 显示/隐藏 JSF 数据表列?

javascript - 'simple' 正则表达式的负后视工作

regex - 替换 Notepad++ 中的正则表达式捕获组?