我正在努力让正则表达式表达起作用。
我需要根据前导零的存在允许以下变换......
- 001234 - > 1234
- 1234 - > 1234
- 00AbcD - > ABCD
- 001234.1234 - > 1234.1234
- 001234.000002 - > 1234.2
- 001234/000002 - > 1234.2
醇>
我发现表达式匹配适用于变换1,2和& 3但我不确定如何匹配4,5和4中演示的(可选)第二部分。 6。
^0*([0-9A-Za-z]*$)
答案 0 :(得分:2)
您可以使用以下正则表达式获取零:
/(?:^|[./])0+/g
并将第二组替换为第一组(\1
)。
例如在python中,我可以执行以下操作:
>>> s="""001234
... 1234
... 00AbcD
... 001234.1234
... 001234.000002
... 001234/000002"""
>>> [re.sub(r'(:?^|[./])0+',r'\1',i) for i in s.split()]
['1234', '1234', 'AbcD', '1234.1234', '1234.2', '1234/2']
答案 1 :(得分:0)
^(0+)(.+)
第2组应该是结果。