我有一个建立正则表达式的问题。这是一个文本示例:字符串填充可选空白的最大长度
text 123 12345 abc 12 def 67 i 89 o 0 t 2
这些数字有时用空格填充到最大长度(3)。 如:
- “1” 可以是 “1” 或 “1”
- “13” 可以是 “13” 或 “13”
我的正则表达式是在目前这样的:
\b([\d](\s*)){1,3}\b
此正则表达式的结果如下:(.
=空白为更好的可视性)
123.
12....
67.
89.
0....
2
但我需要这个:(。 =空白以获得更好的可视性)
123
12.
67.
89.
0..
2
如何告诉正则表达式引擎计算{1,3}选项的空白?
谢谢你的工作:) 你能帮助改变数字之前的空白的正则表达式吗?我测试过这个\ b(?:(\ s | \ d)[\ s \ d] {0,2})(?:(?<= \ d)| \ b)但它并不完美,因为字边界不能正常工作:/ – corvus
这应该这样做:'\ b(?:[\ d \ s] {0,2} \ d)( ?:(?<= \ s)| \ b)' – morja
是的,这是有效的。谢谢 :) – corvus