Java 正则表达式匹配逗号和句点,除非被数字包围
我有正则表达式:Java 正则表达式匹配逗号和句点,除非被数字包围,java,regex,Java,Regex,我有正则表达式: [^\w-,.]|( 它与所有非[\w-,.]匹配,或者使用负查找,匹配任何不带数字的逗号或句点 使用与java兼容的正则表达式,我需要捕获: [^\w,.] ,除非前面和后面有\d (例如,1,2,3没有捕获,而是在1,2,3中捕获[\s,]) 除非前面和后面有\d (例如,12.32没有捕获,但23有捕获。) 我的正则表达式让我很接近,但是,我无法捕获以下示例中的逗号和句点: 1.a(需要捕获时段) 32,foo(需要捕获逗号和空格) 1.1.(需要捕获最后一
[^\w-,.]|(
它与所有非[\w-,.]
匹配,或者使用负查找,匹配任何不带数字的逗号或句点
使用与java兼容的正则表达式,我需要捕获:
[^\w,.]
,
除非前面和后面有\d
- (例如,
1,2,3
没有捕获,而是在1,2,3
中捕获[\s,]
)
除非前面和后面有\d
- (例如,
12.32没有捕获,但23有捕获。
)
我的正则表达式让我很接近,但是,我无法捕获以下示例中的逗号和句点:
1.a
(需要捕获时段)
32,foo
(需要捕获逗号和空格)
1.1.
(需要捕获最后一个句点)
下面的示例演示了要匹配的工作字符串和非工作字符串的示例
这个怎么样
[^\w-,.]|((?<!\d)[,.]|[,.](?!\d))
[^\w-,.]|(?
,,其中我稍微更改了您的正则表达式,只是添加了一个不后跟数字的大小写