用于删除 DOT 的正则表达式
RegEx to remove DOT
我想去掉点 (.) 但我不知道如何写这个模式。
我有一些文本行。
E-1-2-3.1-0-0 or E-1-2-0-2.5-0 or E-1-2-0-3.5-0
但在我的文字中有些是数字,如 2.5、56.7。我不想删除这些点,因为它们是小数。
如果在行中,那么我需要删除点。 -5.2-
将是 -52-
E-1-2-3.1-0-0
将 E-1-2-31-0-0
E-1-2-0-2.5-0
将 E-1-2-0-25-0
E-1-2-0-3.5-0
将 E-1-2-0-35-0
里面可以有DOT或者NOT。
关于此模式的任何帮助?
如果您只需要匹配由破折号和数字破折号包围的点,请尝试正环视:
(?<=-\d)\.(?=\d-)
演示:https://regex101.com/r/nY7fA9/1
如果您需要匹配由破折号和数字破折号(任何正数的数字)包围的点,事情就更棘手了,因为回顾在许多正则表达式中不支持量词。在这种情况下,您可以使用普通正则表达式匹配前缀并立即使用 \K
:
重置匹配
-\d+\K\.(?=\d+-)
我想去掉点 (.) 但我不知道如何写这个模式。
我有一些文本行。
E-1-2-3.1-0-0 or E-1-2-0-2.5-0 or E-1-2-0-3.5-0
但在我的文字中有些是数字,如 2.5、56.7。我不想删除这些点,因为它们是小数。
如果在行中,那么我需要删除点。 -5.2-
将是 -52-
E-1-2-3.1-0-0
将 E-1-2-31-0-0
E-1-2-0-2.5-0
将 E-1-2-0-25-0
E-1-2-0-3.5-0
将 E-1-2-0-35-0
里面可以有DOT或者NOT。
关于此模式的任何帮助?
如果您只需要匹配由破折号和数字破折号包围的点,请尝试正环视:
(?<=-\d)\.(?=\d-)
演示:https://regex101.com/r/nY7fA9/1
如果您需要匹配由破折号和数字破折号(任何正数的数字)包围的点,事情就更棘手了,因为回顾在许多正则表达式中不支持量词。在这种情况下,您可以使用普通正则表达式匹配前缀并立即使用 \K
:
-\d+\K\.(?=\d+-)